🇰🇷 한글 설명
PHP의 PSR-7 HTTP 메시지 라이브러리인 guzzlehttp/psr7의 Uri::assertValidHost() 함수가 권한 구분자, 포함된 포트 또는 잘못된 IPv6 대괄호가 포함된 URI 호스트를 거부하지 못하는 취약점입니다. 이로 인해 Uri::getHost()가 보안 또는 라우팅 결정에 사용되는 URI 권한과 일치하지 않을 수 있습니다. 이 문제는 2.12.3 버전에서 수정되었습니다.
💡 쉬운 설명
웹 주소를 검사할 때 특수 문자가 섞인 잘못된 주소를 제대로 걸러내지 못하는 문제입니다. 이로 인해 실제 접속하려는 주소와 프로그램이 인식하는 주소가 달라져 보안 사고가 발생할 수 있습니다.
🇺🇸 원문 (English)
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Prior to 2.12.3, Uri::assertValidHost() does not reject URI host components containing authority delimiters, embedded ports, or malformed IPv6 brackets, allowing Uri::getHost() to disagree with the URI authority used for security or routing decisions. This issue is fixed in version 2.12.3.
📍 영향받는 시스템
guzzlehttp/psr7 버전 2.12.3 미만
⚔️ 공격 벡터
조작된 호스트 구성 요소(포트, 구분자 등)가 포함된 URI를 입력하여 라우팅 및 보안 로직 우회
🛡️ 대응 방법
guzzlehttp/psr7 라이브러리를 2.12.3 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 정보가 2.12.3보다 낮은지 확인
composer show guzzlehttp/psr7 | grep 'versions'