作者: https://github.com/FurkanKAYAPINAR/
一个针对 CVE-2026-94127 的防御性、非利用检测器。该漏洞是 F5 BIG-IP APM 中基于堆的缓冲区溢出(CWE-122),允许未经身份验证的远程攻击者实现远程代码执行(RCE)。
本仓库仅包含检测与修复工具。它不包含用于实现代码执行的武器化漏洞利用或概念验证。参见范围与伦理。
该漏洞仅在 BIG-IP APM 配置为 OAuth 授权服务器时才会显现——也就是说,一个虚拟服务器同时具备:
发往此类虚拟服务器的恶意 OAuth 流量可触发堆溢出。仅将 APM 用作 OAuth 客户端 / 资源服务器(无授权服务器配置文件)的部署不受影响。
detect_cve_2026_94127.py 执行只读检查:
/mgmt/tm/sys/version)读取 Version/Build,并与受影响范围进行比对。它仅发送正常的只读请求——不发送构造的/溢出流量。
| 分支 | 最低受影响版本 | 修复热修复(请在 K000162605 中确认) |
|---|---|---|
| 21.1 | 21.1.0 | Hotfix-BIGIP-21.1.0.2.0.30.22-ENG |
F5 的工程热修复版本编号并不规律;本工具会保守地标记受影响分支,并提示你在下结论前对照官方安全公告确认确切的修复构建版本。
pip install -r requirements.txt
需要 Python 3.8+。
# Unauthenticated fingerprint (is this a BIG-IP?)
./detect_cve_2026_94127.py -t 10.0.0.1
# Authenticated, read-only — most accurate (a read-only account is enough)
./detect_cve_2026_94127.py -t 10.0.0.1 -u admin # prompts for password
# Scan a list of hosts and emit JSON
./detect_cve_2026_94127.py --targets-file hosts.txt -u admin --json
# Run on the appliance itself (uses tmsh), or against an exported config
./detect_cve_2026_94127.py --local
./detect_cve_2026_94127.py --config-file ./bigip.conf
当任何目标为易受攻击/可能易受攻击时,退出码为 2(便于 CI 集成),否则为 0。
本项目旨在供经授权的防御者和管理员在修复截止日期前清点并修复自身暴露面。
MIT — 参见 LICENSE。
| 17.5 | 17.5.0 | Hotfix-BIGIP-17.5.1.9.0.160.12-ENG |
| 17.1 | 17.1.0 | Hotfix-BIGIP-17.1.3.5.0.41.14-ENG |
| 判定 | 含义 |
|---|
VULNERABLE | 受影响版本且存在利用前置条件 |
LIKELY_VULNERABLE | 受影响版本;配置未验证(无凭据) |
AFFECTED_VERSION_CONFIG_ABSENT | 受影响版本,但未发现 APM+OAuth |
NOT_AFFECTED_PATCHED | 版本似乎达到或高于修复版本 |
NOT_AFFECTED_BRANCH | 分支/版本不在受影响集合内 |
NOT_A_BIGIP_OR_UNREACHABLE | 无 BIG-IP 特征 |
UNKNOWN | 数据不足(例如已确认是 BIG-IP 但无凭据) |