
CVE-2026-23813 — nginx 정규식을 통한 AOS-CX 사전 인증 우회. 탐지 스크립트, 우회 데모, 설정 노출 PoC 및 IDS 규칙.
인증되지 않은 원격 공격자가 nginx의 과도하게 허용적인 버전 정규식을 통해
login토큰을 밀반입하여 AOS-CX 관리 REST API에 도달할 수 있으며, OVSDB 기반 구성 표면(해시된 관리자 자격 증명 포함)이 노출됩니다.
| Branch | 취약 버전 | 수정 버전 |
|---|---|---|
| 10.17.x | ≤ 10.17.0001 | 10.17.1001 |
| 10.16.x | ≤ 10.16.1020 | 10.16.1030 |
| 10.13.x | ≤ 10.13.1160 | 10.13.1161 |
| 10.10.x | ≤ 10.10.1170 | 10.10.1180 |
python3 detect.py <host[:port]>
읽기 전용 GET을 하나 보냅니다. PATCHED, VULNERABLE 또는 UNKNOWN을 출력합니다.
변경 사항이 없으며 인벤토리 스캔에 적합합니다.
python3 bypass_demo.py <host[:port]>
동일한 엔드포인트를 두 번 전송합니다 — 한 번은 정상적으로, 한 번은 밀반입(smuggle) 방식으로 —
응답 코드를 나란히 출력합니다. 상태 변경이 없습니다. 이유는
docs/root-cause.md를 참조하세요.
python3 exploit.py <host[:port]>
AOS-CX 10.10.x 전용. 인증되지 않은 경로를 통해 체크포인트를 생성하고
전체 실행 구성(running config)을 읽어 관리자 해시를 출력합니다.
브랜치 간 바이패스는 영향을 받는 모든 버전에서 동작하지만, 이
구성 노출 체인은 10.10 브랜치 특유의 백엔드 동작에 의존합니다.
체크포인트는 장치에 남아 있습니다 — 바이패스로 접근 가능한 REST
엔드포인트는 DELETE를 지원하지 않으므로, 필요하다면 콘솔 / 인가된
세션을 통해 제거하세요.
Python 3.8+ 및 requests:
pip install requests
4252nez의 독립적인 패치 후(post-patch) 분석 및 PoC — 분석 보고서: OffSecKit. 원본 취약점은 moonv가 HPE Bugcrowd 프로그램을 통해 보고했으며, 이 저장소는 해당 보고서와 아무런 관련이 없습니다.
MIT — LICENSE 참조.
| File | 용도 |
|---|
detect.py | 비파괴적 패치 상태 확인 |
bypass_demo.py | 바이패스 메커니즘을 나란히 보여주는 교육용 데모 |
exploit.py | 구성 노출 PoC (체크포인트 생성) |
detection/nginx-access.md | nginx 액세스 로그에 대한 탐지 시그니처 |
detection/suricata.rules | 밀반입(smuggle) URI 형태에 대한 Suricata 규칙 |
docs/root-cause.md | 간단한 근본 원인 설명 |
docs/patch-diff.md | 하나의 diff로 확인하는 수정 사항 |