
CVE复现:cve-2024-0012_9474-panos_authbypass_reproduction
| CVE | 描述 | CVSS |
|---|---|---|
| CVE-2024-0012 | PAN-OS 管理接口身份验证绕过 | 9.3 |
| CVE-2024-9474 | PAN-OS 权限提升 | 6.9 |
当串联利用时,这些漏洞允许在 PAN-OS 管理 Web 接口上实现未经认证的远程代码执行。
两者均在野外被积极利用为零日漏洞,跟踪为 Operation Lunar Peek。该研究最初由 watchTowr 披露。
Palo Alto Networks PAN-OS 管理 Web 接口暴露了两个关键缺陷,组合利用可使攻击者在无需任何身份验证的情况下获得完全 root 权限:
管理 Web 接口对某些 API 和 PHP 端点的身份验证验证不当。通过操作 HTTP 请求路径(例如路径遍历或双斜杠技术),攻击者可访问通常需要有效会话的受限处理器。这有效地为 PHPRESTAPI 和其他内部端点授予了未经认证的访问权限。
根本原因在于 Nginx/Apache 路由规则未能对特定 URI 模式强制执行会话检查,允许请求绕过身份验证中间件。
一旦通过身份验证(即使作为只读或低权限用户),漏洞存在于 PHP 会话序列化机制中。session.save_path 配置错误,且会话文件名部分由用户控制。通过构造包含路径遍历序列的会话 ID,攻击者可以将 PHP 会话文件写入任意位置(例如 ../utils/webshell.php)。
由于 Web 服务器以 root 身份运行,写入的文件继承 root 所有权,从而为攻击者提供 root 级别的 Web shell。
攻击者(未经认证)
│
├─ CVE-2024-0012 ─────────────────────────────┐
│ 通过构造 URI 绕过身份验证 │
│ → 获取对 PHPRESTAPI 端点的访问权限 │
│ → 创建低权限 API 密钥/会话 │
└──────────────────────────────────────────────┘
│
├─ CVE-2024-9474 ─────────────────────────────┐
│ 使用获得的会话/密钥 │
│ → 发送构造的 PHP 会话 ID(路径遍历) │
│ → 将会话文件写入 Web 根目录 │
│ → 文件包含 PHP 代码(Web shell) │
└──────────────────────────────────────────────┘
│
▼
通过 Web shell 以 root 身份执行远程代码
X-PAN- 或基于 cookie 的会话 ID(包含 ../ 遍历)的请求,将 PHP 负载写入 Web 可访问的 php/ 目录。/php/<shell>.php 以 root 身份执行任意命令。参见本目录中的 exploit.py 文件,其中包含串联利用两个 CVE 的工作概念验证程序。
| PAN-OS 版本 | 受影响版本 | 修复版本 |
|---|
| 10.2 | < 10.2.12-h2 | 10.2.12-h2 |
| 11.0 | < 11.0.6-h1 | 11.0.6-h1 |
| 11.1 | < 11.1.5-h1 | 11.1.5-h1 |
| 11.2 | < 11.2.4-h1 | 11.2.4-h1 |
| 11.3 | 不受影响 | — |
| Cloud NGFW | 不受影响 | — |