CVE-2025-0108:通过 PAN-OS Nginx/Apache 路径混淆实现的身份验证绕过漏洞 _

admin 2025年4月7日00:51:27评论43 views字数 1879阅读6分15秒阅读模式
CVE-2025-0108:通过 PAN-OS Nginx/Apache 路径混淆实现的身份验证绕过漏洞  _

目标

  • PAN OS 10.2.x < 10.2.13-h3

  • PAN OS 11.0.x < 11.1.6-h1

  • PAN OS 11.2.x < 11.2.4-h4

解释

CVE-2025-0108是在 Palo Alto Networks PAN-OS 防火墙管理界面中发现的一个身份验证绕过漏洞。它是由 Assetnote 研究团队在分析CVE-2024-0012 和 CVE-2024-9474补丁时发现的。

先前的漏洞(CVE-2024-0012 和 CVE-2024-9474)被攻击者利用,通过禁用 PAN-OS 防火墙来获取 root 权限,而研究团队在分析这些漏洞的修补过程时,发现 PAN-OS 管理界面中存在一个漏洞,这导致了新的身份验证绕过漏洞 CVE-2025-0108。

该漏洞是通过利用Nginx → Apache → PHP 的复杂身份验证处理过程中出现的路径混淆和双重 URL 解码问题

来绕过身份验证的。 PAN-OS 的管理界面通过以下方式处理 Web 请求:

1. Nginx 步骤

接收客户端的请求并X-pan-AuthCheck设置标头以确定是否需要身份验证。此后,包含特定路径(包括)/unauth/的请求可以被视为不需要身份验证。

if ($uri~ ^/unauth/.+$) {set$panAuthCheck'off';}

这会导致/unauth/包含路径的请求X-pan-AuthCheck: off被设置并被视为不需要身份验证。

2. Apache 步骤

重新处理从 Nginx 转发的请求并mod_rewrite通过 重写特定路径。

<Location "/">DirectorySlashoffRewriteEngineonRewriteRule ^(.*)(/PAN_help/)(.*).(css|js|html|htm)$ $1$2$3.$4.gz [QSA,L]AddEncoding gzip .gzOptions Indexes FollowSymLinksRequireall granted</Location>
  • 当请求转发到 Apache 时,Apache 会再次解释路径并执行内部重定向。

  • 由于URL 需要再次解码,因此该过程可能会引入路径混淆。

3. PHP 步骤

根据从 Apache 传递的请求,它确定该请求是否真正经过身份验证并处理该请求。

if (    $_SERVER['HTTP_X_PAN_AUTHCHECK'] != 'off'    && $_SERVER['PHP_SELF'] !== '/CA/ocsp'    && $_SERVER['PHP_SELF'] !== '/php/login.php'    && stristr($_SERVER['REMOTE_HOST'], '127.0.0.1') === false) {// ... check authentication ...}

如果请求传递给 PHP 应用程序X-pan-AuthCheck: off,则认为不需要身份验证。

Apache 的路径重新解释问题

Apache RewriteRule在处理时执行内部重定向,这涉及再次解码 URL。

RewriteRule (.*).abc$ $1 [L]

通过利用双重解码问题,攻击者可以尝试使用双重 URL 编码来绕过身份验证。

攻击者可以通过发送如下请求来绕过身份验证:

GET/unauth/%252e%252e/php/ztp_gate.php/PAN_help/x.css HTTP/1.1Host: target.firewallConnection: close

如何处理请求

1、Nginx 处理

  • %252e%252e在第一次 URL 解码中转换为%2e%2e( )..

  • /unauth/%2e%2e/php/ztp_gate.php/PAN_help/x.css因为路径/unauth/包含X-pan-AuthCheck: off(即不需要身份验证)而被设置

2、Apache 处理

  • Apache 重新处理路径并执行内部重定向。

  • %2e%2e再次解码,实际请求路径/php/ztp_gate.php/PAN_help/x.css变为

  • Apache 将此请求视为普通的 PHP 执行请求ztp_gate.php并执行它。

3、运行 PHP

  • 该请求/php/ztp_gate.php已被转发且X-pan-AuthCheck: off处于无需身份验证即可执行的状态。

该漏洞已在PAN-OS 10.2.13-h3、11.1.6-h1、11.2.4-h4及后续版本中修复。

原文始发于微信公众号(Ots安全):CVE-2025-0108:通过 PAN-OS Nginx/Apache 路径混淆实现的身份验证绕过漏洞 _

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月7日00:51:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2025-0108:通过 PAN-OS Nginx/Apache 路径混淆实现的身份验证绕过漏洞 _https://cn-sec.com/archives/3914040.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息