RegexRequestMatcher 时,如果请求 URL 包含换行符,可能导致权限绕过。%0a、%0d 等编码的换行符绕过管理页面 (/admin) 的访问权限。docker compose up -d 准备测试环境。http://localhost:8080/admin 确认对管理页面的访问被阻止。http://localhost:8080/admin/%0atest 尝试访问管理页面。
已配置了存在漏洞的环境。

对管理页面的访问已被阻止。

%0d 表示 '\r',%0a 表示 '\n'。使用 %0d、%0a 发送请求可以绕过访问权限。
如果 URL 中包含 %0a、%0d 等换行符,RegexRequestMatcher 在过滤请求路径时会忽略对换行符的处理,从而导致权限绕过。攻击者可通过权限绕过访问管理页面,并从中窃取重要信息,因此需要特别注意。
GitHub 地址: https://github.com/he-ewo/CVE-2022-22978.git