CVE-2021-41773critical
Apache HTTP Server 路径穿越
Apache HTTP Server 2.4.49/2.4.50 的路径规范化缺陷,攻击者可利用编码后的点号穿越出文档根目录读取文件,特定配置下可执行代码。
# CVE-2021-41773 · Apache HTTP Server 路径穿越
## 基本信息
- 编号:CVE-2021-41773(后续变体为 CVE-2021-42013)
- 组件:Apache HTTP Server 2.4.49 / 2.4.50
- 严重度:critical
## 问题成因
2.4.49 修改了 URL 路径规范化逻辑,引入缺陷:攻击者用编码后的点号构造路径,可以穿越出文档根目录,读取根目录之外的文件。若同时启用了 CGI 相关模块,则可能进一步走向远程代码执行。
## 利用的两个前提
1. 版本在受影响范围
2. 穿越只是第一步;要走到代码执行,通常还需要 CGI 相关模块处于可用状态
## 修复与缓解
1. 升级到 2.4.51 或更高
2. 升级前临时缓解:禁用受影响的 CGI 配置
3. 检查目录授权的 granted 范围,避免把权限放得过宽
4. 确认没有把敏感目录放进文档根
## 常见坑
- 只升了主版本号,漏看小版本(2.4.49 与 2.4.50 都受影响)
- 以为没开 CGI 就完全安全,文件读取本身的危害已经足够
- 用 WAF 拦关键字,但编码变形后规则失效
## 怎么验证
在测试环境对静态目录做路径穿越请求,观察是否返回根目录之外的响应内容。