
F5 BIG-IP APM의 CVE-2026-94127에 대한 읽기 전용 방어 탐지기입니다. 호스트를 핑거프린팅하고, iControl REST를 통해 버전을 확인하며, OAuth 인증 서버 사전 조건을 검증합니다.
작성자: https://github.com/FurkanKAYAPINAR/
CVE-2026-94127에 대한 방어용, 비익스플로잇 탐지기로, F5 BIG-IP APM의 힙 기반 버퍼 오버플로(CWE-122)로 인증되지 않은 원격 공격자가 원격 코드 실행(RCE)을 달성할 수 있게 하는 취약점입니다.
이 저장소에는 탐지 및 완화 도구만 포함되어 있습니다. 코드 실행을 달성하기 위한 무기화된 익스플로잇이나 개념 증명(PoC)은 포함되어 있지 않습니다. 범위 및 윤리를 참조하세요.
이 취약점은 BIG-IP APM이 **OAuth 인증 서버(Authorization Server)**로 구성된 경우에만 발생합니다. 즉, 다음 두 가지를 모두 가진 가상 서버입니다:
이러한 가상 서버로의 악성 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 이상이 필요합니다.
# 인증 없는 핑거프린트 (이것이 BIG-IP인가?)
./detect_cve_2026_94127.py -t 10.0.0.1
# 인증 사용, 읽기 전용 — 가장 정확함 (읽기 전용 계정이면 충분)
./detect_cve_2026_94127.py -t 10.0.0.1 -u admin # 비밀번호 입력 프롬프트
# 호스트 목록을 스캔하고 JSON 출력
./detect_cve_2026_94127.py --targets-file hosts.txt -u admin --json
# 어플라이언스 자체에서 실행(tmsh 사용) 또는 내보낸 구성에 대해 실행
./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 확인되었으나 자격 증명 없음) |