tstephens1080/palo-alto-cve-2026-0265-checker

GitHub: tstephens1080/palo-alto-cve-2026-0265-checker

一个Python脚本,用于批量扫描Palo Alto设备以检测CVE-2026-0265漏洞的实际可利用性,通过检查配置而非仅版本号。

Stars: 0 | Forks: 0

## CVE-2026-0265 风险检查器(适用于 Palo Alto PAN-OS) 这是一个 Python 脚本,它通过 SSH 连接到一系列 Palo Alto Networks 防火墙和 Panorama 设备,并报告每台设备对 CVE-2026-0265 的暴露情况。该 CVE 是一个 PAN-OS 中的身份验证绕过漏洞,影响启用了云身份验证服务 (CAS) 的设备。 该脚本并非仅依赖于版本匹配(这会导致过度报告),它还会检查每台设备上是否实际配置了 CAS,并区分出易受攻击、受影响但不可利用以及安全的状态。 ## 为什么需要这个脚本 官方公告将所有低于某个修复版本的 PAN-OS 版本都列为“受影响”。实际上,这个漏洞只有在您配置了基于 CAS 的身份验证配置文件时才重要。一次简单的版本扫描会将所有运行较低版本的设备标记为易受攻击,让您无法在大型设备群中确定补丁优先级。 该脚本可一次性为您提供完整情况: **AFFECTED BY CVE** — 仅根据公告中的版本范围进行检查。 **CAS** — 该设备是否实际定义了 CAS 身份验证配置文件? **STATUS** — 综合判定: `VULNERABLE` — 受影响版本且已配置 CAS(真实风险) `NOT_EXPLOITABLE` — 受影响版本,但未定义 CAS 配置文件;漏洞代码路径无法到达 `SAFE` — 运行已修复或不受影响的版本 ## 功能 并行连接到所有设备(工作线程数可配置;默认为 8)。 每台设备使用单个 SSH 会话,仅运行两个只读 `show` 命令 —— 不进行任何配置更改。 处理高可用性状态提示(例如 `user@host(active)>`)并禁用 PAN-OS 分页器,以防止输出被截断。 彩色编码的汇总表(红色/黄色/绿色),包含独立的 `AFFECTED BY CVE`、`CAS` 和 `STATUS` 列。 同时适用于防火墙和 Panorama(两者的 CLI 相同)。 跨平台:Windows / macOS / Linux。在 Windows 10 及以上版本中自动启用 ANSI 颜色。 优雅的 SSH 退出 —— 在关闭前发送 `exit`,使 PAN-OS 审计日志记录到正常的注销,而不是传输中断。 ## 要求 Python 3.8 或更新版本 `paramiko`(通过 `pip install paramiko` 安装) 一个只读管理员账户,该账户必须存在于您的列表中的所有设备上(TACACS+、RADIUS、SAML 或本地账户均可,只要使用相同的凭据能在所有设备上进行身份验证)。 从运行脚本的位置到每台设备管理接口的 SSH(TCP/22)可达性。 ## 安装 ``` git clone https://github.com/YOUR_USERNAME/palo-alto-cve-2026-0265-checker.git cd palo-alto-cve-2026-0265-checker pip install paramiko ``` ## 用法 打开 `check_cve_2026_0265.py` 文件,在顶部附近的 `DEVICES` 列表中编辑您自己的主机名和管理 IP: ```python DEVICES = [ ("fw1-prod-region1", "192.0.2.10"), ("fw2-prod-region1", "192.0.2.11"), ("panorama1", "198.51.100.10"), # ... ] ``` 可选:将 `DEFAULT_USER` 更改为您标准的只读管理员账户名。 运行脚本: ```bash python check_cve_2026_0265.py ``` 出现提示时输入您的 SSH 用户名和密码。相同的凭据将用于所有设备。 示例输出 ``` ================================================================================ CVE-2026-0265 Risk Checker - Multi-device PAN-OS sweep ================================================================================ Devices in list: 6 Parallel workers: 8 SSH username for all devices [admin]: Password for admin: Checking devices (results appear as each finishes) ... ------------------------------------------------------------------------------ [ 1/ 6] fw1-prod-region1 192.0.2.10 NOT_EXPLOITABLE 11.1.4-h7 CAS:no [ 2/ 6] fw2-prod-region1 192.0.2.11 NOT_EXPLOITABLE 11.1.4-h7 CAS:no [ 3/ 6] fw1-prod-region2 192.0.2.20 SAFE 11.0.3-h10 CAS:no [ 4/ 6] fw2-prod-region2 192.0.2.21 SAFE 11.0.3-h10 CAS:no [ 5/ 6] panorama1-region1 198.51.100.10 NOT_EXPLOITABLE 11.2.7-h4 CAS:no [ 6/ 6] panorama2-region2 198.51.100.20 NOT_EXPLOITABLE 11.2.7-h4 CAS:no ------------------------------------------------------------------------------ Completed in 18.4 seconds ================================================================================ CVE-2026-0265 Assessment Summary ================================================================================ ----------------------------------------------------------------------------------------------------- HOSTNAME MGMT IP VERSION AFFECTED BY CVE CAS STATUS FIX VERSION ----------------------------------------------------------------------------------------------------- fw1-prod-region1 192.0.2.10 11.1.4-h7 yes no NOT_EXPLOITABLE 11.1.4-h33 fw2-prod-region1 192.0.2.11 11.1.4-h7 yes no NOT_EXPLOITABLE 11.1.4-h33 panorama1-region1 198.51.100.10 11.2.7-h4 yes no NOT_EXPLOITABLE 11.2.7-h13 panorama2-region2 198.51.100.20 11.2.7-h4 yes no NOT_EXPLOITABLE 11.2.7-h13 fw1-prod-region2 192.0.2.20 11.0.3-h10 no no SAFE - fw2-prod-region2 192.0.2.21 11.0.3-h10 no no SAFE - ----------------------------------------------------------------------------------------------------- Total: 6 | Vulnerable: 0 | Not exploitable: 4 | Safe: 2 | Errors: 0 ----------------------------------------------------------------------------------------------------- ``` 在真实的终端中,`STATUS` 列是彩色编码的: | 状态 | 颜色 | 含义 | | :------------------ | :------- | :------------------------------------------------------------------- | | `VULNERABLE` | 粗体红色 | 受影响版本且已配置 CAS —— 请立即打补丁 | | `NOT_EXPLOITABLE` | 黄色 | 受影响版本,但未配置 CAS —— 在下一个维护窗口期间打补丁 | | `SAFE` | 绿色 | 版本等于或高于此 CVE 的修复版本 | 错误状态(`AUTH_FAIL`、`UNREACHABLE`、`PARSE_ERR`)列在表下方的错误详细信息块中。 ## 工作原理 对于每台设备,脚本启动一个交互式 SSH 会话并发出两个命令: ``` show system info | match sw- show config running | match cloud-authentication-service ``` 第一个命令返回类似 `sw-version: 11.1.4-h7` 的一行。如果设备上未配置基于 CAS 的身份验证配置文件,第二个命令将返回空。脚本将这两个答案与已发布公告中的受影响版本表相结合。 ## 注意事项 此脚本仅验证 CVE-2026-0265 的攻击路径(基于 CAS 的身份验证)。返回 `NOT_EXPLOITABLE` 的设备在当前配置下无法通过此 CVE 被利用,但它仍然运行着受影响的代码,应在正常维护周期内进行修补。 CAS 检查会在运行配置中查找任何 `cloud-authentication-service` 引用。它不会验证该配置文件是否绑定到登录接口(管理 UI、身份验证门户、GlobalProtect 门户/网关)。一个已配置但未绑定的 CAS 配置文件在技术上也不可利用,但脚本保守地将其报告为 `VULNERABLE`。 高可用性对在同步健康时共享配置,但脚本会独立检查每个对等方,以便您可以确认双方实际上是否一致。 此脚本不使用 SSH 密钥或基于证书的身份验证登录设备 —— 仅实现了密码认证。欢迎提交 PR。 ## 参考资料 Palo Alto Networks 安全公告:CVE-2026-0265 Palo Alto Networks:保护管理访问的最佳实践 云身份引擎 / 云身份验证服务概述 ## 许可证 MIT — 详见 LICENSE 文件。 ## 免责声明 此脚本按原样提供,用于防御性安全和运维目的。它与 Palo Alto Networks 无关,也未获得其认可。在做出补丁决定之前,请务必根据官方供应商公告确认 CVE 的适用性。
标签:CVE-2026-0265, GPT, Palo Alto, PAN-OS, SSH连接, 云认证服务, 内存分配, 安全可观测性, 安全扫描, 工具开发, 并行处理, 时序注入, 漏洞修复, 漏洞利用性检查, 漏洞管理, 版本控制, 网络安全, 网络安全培训, 网络设备, 认证绕过, 设备管理, 逆向工具, 配置检测, 防火墙安全, 隐私保护, 颜色编码报告