
CVE-2026-23918 노출 분류를 위한 패시브 HTTP 메타데이터 감사기
대안으로 curl을 사용해 헤더를 가져와서 살짝 들여다볼 수도 있지만, 여기에 더 나은 방법이 있습니다:
Apache HTTP Server를 위한 비침습적 HTTP 메타데이터 감사 도구
CVE-2026-23918 (https://www.openwall.com/lists/oss-security/2026/05/04/19) 노출 분류.
이 도구는 일반 HTTP HEAD/GET 요청을 보내고 TLS ALPN 협상을 수행하여 HTTP/2 지원 여부를 관찰합니다.
uvuv 설치:
curl -LsSf https://astral.sh/uv/install.sh | sh
일반적인 패키지 관리자 예시:
brew install uv [email protected]
sudo apt install python3.13 python3.13-venv pipx && pipx install uv
sudo dnf install python3.13 pipx && pipx install uv
sudo pacman -S uv python
프로젝트 의존성 설치:
make install
린팅을 위한 개발자 의존성 설치:
make install-dev
명령 요약 출력:
make help
하나의 대상 감사:
make run https://example.com
한 줄 CVE 판정 출력:
make run https://example.com brief
targets.json에서 대상 감사:
make run targets.json brief
선택적 변수:
make run targets.json brief TIMEOUT=30 CONCURRENCY=10
make run https://example.com INSECURE=1
make run targets.json JSON_OUTPUT=1
대화형 터미널에서는 요청이 진행되는 동안 stderr에 작은 ASCII 스피너를 표시합니다. 보고서 출력은 stdout에 남습니다.
targets.json은 호스트 이름, IP 주소 또는 URL의 JSON 배열이어야 합니다:
[
"https://httpd.apache.org",
"https://example.com",
"http://scanme.nmap.org"
]
동등한 일반 형식:
[
"https://example.com",
"example.org",
"192.0.2.10",
"http://192.0.2.20:8080"
]
각 항목은 비어 있지 않은 문자열이어야 합니다. 호스트 이름과 IP 주소만 있는 경우 HTTPS로 정규화됩니다.
Alt-Svc 및 Upgrade에서 HTTP/2 표시자간략 출력 형식:
https://example.com [Apache/2.4.66] [h2 no] => likely vulnerable (h2 not confirmed)
CVE-2026-23918의 경우 Apache 2.4.66은 영향을 받는 것으로 처리되고 2.4.67 이상은 수정된 것으로 처리됩니다. 이전 Apache 릴리스는 확인된 CVE 범위 밖으로 보고됩니다.
audit.py: CLI 진입점.auditor/: 검증, 수동 수집, 분석, 보고 및 진행 표시.성공적인 실행은 결과를 보고한 후 상태 0으로 종료됩니다. 취약해 보이는 배너를 포함한 발견 사항은 데이터 출력이며 프로세스를 실패시키지 않습니다.
입력 검증 실패 및 설정 실패는 0이 아닌 값으로 종료될 수 있습니다.
결과는 외부에서 볼 수 있는 메타데이터를 기반으로 하며 패키지 상태에 대한 권위 있는 증거가 아닙니다. 서버 배너는 숨겨지거나, 수정되거나, 백포팅되거나, 중간자를 통해 라우팅될 수 있습니다.
CC0 1.0 Universal. LICENSE 참조.