
PoC para validar vulnerabilidade MadeYouReset
MadeYouReset 취약점 검증을 위한 PoC
이 저장소는 인프라가 CVE-2025-8671 (MadeYouReset)에 잠재적으로 취약한지 검증하기 위해 개발된 통제된 PoC를 포함합니다. 이 코드는 완전한 익스플로잇이 아니며 실제 DoS를 수행하지 않습니다. 목표는 공개적으로 설명된 벡터를 시뮬레이션하고 서버 응답을 관찰하는 것뿐입니다.
CVE-2025-8671 정보 CVE-2025-8671은 서버가 스트림 또는 연결 종료 후 전송된 특정 잘못된 프레임을 올바르게 처리하지 않는 HTTP/2 구현에 영향을 미칩니다. 공격자는 이 결함을 악용하여 과도한 CPU/메모리 소비를 유발하여 서비스 거부(DoS)를 초래할 수 있습니다.
공개적으로 설명된 가장 일반적인 벡터는 다음과 같습니다:
코드가 수행하는 작업 스크립트:
지정된 대상과 HTTP/2 연결을 설정합니다.
알려진 벡터(위에 나열됨)에 대한 요청을 실행합니다.
서버 응답을 모니터링하고 다음 이벤트를 기록합니다:
각 시도에 대해 JSON 출력을 생성합니다:
제한 사항
스크립트는 실제 DoS 익스플로잇이 아닙니다. 제어된 탐지를 위해 벡터당 수십 개의 프레임만 전송합니다.
코드는 서버의 CPU/메모리 소진을 직접 측정하지 않습니다. 분석은 다음에 의존합니다:
가능한 모든 익스플로잇 시나리오를 다루지 않으며, 공개적으로 설명된 벡터만 포함합니다.
공격 도구가 아닌 방어적 검증 도구입니다.
사용 방법
요구 사항
실행
python3 poc_cve.py
결과 해석
GOAWAY = 1 → 서버가 올바르게 연결을 종료했습니다. RST_STREAM = 1 → 서버가 잘못된 스트림을 올바르게 리셋했습니다. responses > 0 → 서버가 요청을 처리했습니다 (유효한 경로에서 허용되며, 이후 종료되어야 함). conn_closed_early = 1 → 서버가 연결을 즉시 닫았습니다 (일부 벡터에서 정상). error → 클라이언트 로컬 오류를 나타냄 (반드시 서버 문제는 아님).
취약하지 않은 인프라는 일반적으로:
연결 종료 (GOAWAY) 또는 잘못된 스트림 리셋 (RST_STREAM)
잘못된 프레임 이후 활성 처리를 유지하지 않음
로그에서 지연 또는 비정상적인 소비를 나타내지 않음
결론
이 코드는 HTTP/2 인프라가 CVE-2025-8671과 관련된 벡터에 적절히 반응하는지 안전하고 비침습적으로 검증할 수 있게 합니다.
방어적 PoC로서의 목적을 충족합니다: 실제 DoS를 발생시키거나 프로덕션에서 결함을 악용하지 않고 잘못된 동작을 탐지합니다.