The uri-block plugin in Apache APISIX before 2.10.2 uses $request_uri without verification. The $request_uri is the full original request URI without normalization. This makes it possible to construct a URI to bypass the block list on some occasions. For instance, when the block list contains "^/internal/", a URI like `//internal/` can be used to bypass it. Some other plugins also have the same issue. And it may affect the developer's custom plugin.
Workaround:
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
Link | Tags |
---|---|
https://lists.apache.org/thread/18jyd458ptocr31rnkjs71w4h366mv7h | mailing list exploit vendor advisory |
http://www.openwall.com/lists/oss-security/2021/11/22/1 | third party advisory mailing list |
http://www.openwall.com/lists/oss-security/2021/11/22/2 | third party advisory mailing list |
http://www.openwall.com/lists/oss-security/2021/11/23/1 | mailing list exploit third party advisory |