HEAD 请求。一个轻量级、无依赖的 Python 安全验证器,用于检测
CVE-2026-24733,即 Apache Tomcat HTTP/0.9 HEAD 安全约束
绕过漏洞。
该项目专为以下人员设计:
仅限授权测试。 仅扫描您拥有或已获得明确测试许可的系统。
Apache Tomcat 在某些安全约束配置下错误地处理了 HTTP/0.9 风格的 HEAD 请求。
相关条件是一种配置,其中:
GET 访问受到限制HEAD 被允许HEAD 请求在受影响的 Tomcat 版本中,这可能导致安全约束绕过。
这主要是一种依赖配置的行为漏洞。 因此,仅检测到受影响的 Tomcat 版本不应 自动被视为漏洞利用的证据。
根据 Apache Tomcat 安全公告:
| 分支 | 修复版本 |
|---|---|
| Tomcat 9 | 9.0.113 |
| Tomcat 10.1 | 10.1.50 |
| Tomcat 11 | 11.0.15 |
受影响版本是这些受支持分支中对应的更早版本。
在做出修复决策之前,请务必查阅官方 Apache 公告。
Python 3.9+。
不需要第三方 Python 包。
该验证器仅使用 Python 标准库。
基本 HTTP:
python3 cve_2026_24733.py \
http://127.0.0.1:8080/protected
HTTPS:
python3 cve_2026_24733.py \
https://127.0.0.1:8443/protected
对于使用自签名证书的授权实验室环境:
python3 cve_2026_24733.py \
--insecure \
https://127.0.0.1:8443/protected
JSON 输出 用于自动化和 SIEM/CI 流水线:
python3 cve_2026_24733.py \
--json \
https://127.0.0.1:8443/protected
示例:
{
"cve": "CVE-2026-24733",
"verdict": "INCONCLUSIVE",
"confidence": "medium",
"version": "10.1.49",
"version_assessment": "affected-range"
}
退出代码 代码 含义 0 不受影响 / 漏洞未确认 1 可能受影响 2 不确定或扫描器错误
这使得该工具适用于 CI/CD:
python3 cve_2026_24733.py \
--json \
https://target.example/protected
if [ $? -eq 1 ]; then
echo "Potential CVE-2026-24733 exposure"
exit 1
fi
检测方法 验证器针对操作员提供的明确路径执行两个有限请求:
正常 HTTP/1.1 GET 发送常规请求以建立正常访问行为。
HTTP/0.9 风格 HEAD 验证器发送一个有意采用 HTTP/0.9 风格的请求:
HEAD /protected
该请求有意不包含 HTTP 版本或 HTTP/1.x 标头。
对这两个观察结果进行比较。
一个特别值得注意的结果是:
GET /protected -> 401/403 HTTP/0.9 HEAD -> 收到响应
当与受影响的 Tomcat 版本结合时,这会被报告为:
POTENTIALLY VULNERABLE
该工具刻意使用“可能”一词,因为网络 组件、反向代理、应用路由和端点特定的 安全策略可能会影响观察结果。
误报 该验证器刻意保持保守。
POTENTIALLY_VULNERABLE 结果应被调查,而不是 盲目视为已确认的漏洞利用。
可能的原因包括:
反向代理
WAF 行为
负载均衡器
不同的后端节点
自定义 servlet 过滤器
应用层授权
端点特定配置
位于 Tomcat 前面的非 Tomcat HTTP 服务器
对于高置信度修复,请检查 Tomcat 版本和 相应的安全约束。
安全设计 该验证器刻意不:
爬取目标
枚举目录
暴力破解 URL
绕过身份验证
提取受保护的应用程序数据
执行命令
上传文件
修改服务器状态
尝试权限提升
将该问题与其他漏洞串联利用
操作员明确提供正在测试的端点。
响应收集设有上限,以防止不必要地下载大型 响应。
推荐的防御工作流程 如果该工具报告:
POTENTIALLY VULNERABLE
确定实际的 Tomcat 后端版本。
验证该端点是否使用 GET 受限 / HEAD 允许的 安全约束。
检查反向代理/WAF 路由。
将 Tomcat 升级到相应的修复版本。
重新测试同一端点。
审查日志中是否存在意外的 HTTP/0.9 流量。
如有必要,在执行修复期间,在 反向代理处临时阻止格式错误的 HTTP/0.9 请求。
负责任披露 如果测试发现了一个此前未知的安全问题:
不要公开披露敏感的目标信息。
保留相关证据。
通知受影响的组织。
遵循供应商的安全报告流程。
负责任地协调披露时间表。
参考资料 Apache Tomcat 安全公告:
https://tomcat.apache.org/security-9
https://tomcat.apache.org/security-10
https://tomcat.apache.org/security-11
CVE:
https://www.cve.org/CVERecord?id=CVE-2026-24733
NVD:
https://nvd.nist.gov/vuln/detail/CVE-2026-24733
许可证 MIT 许可证。
请负责任地使用,并且仅针对您已获得 授权的系统使用。