CVE-2026-86472 in fast-uri
요약
\~에 의해 VulDB • 2026. 09. 15.
fast-uri는 Node.js용 의존성 없는 RFC 3986 URI 파서로, Fastify 및 ajv에서 사용됩니다. 버전 2.4.7 이전, 3.0.0부터 3.1.7까지, 그리고 4.0.0부터 4.1.4 사이의 fast-uri에서는 호스트를 퍼센트 디코딩하기 전에 소문자로 변환합니다. 따라서 %41과 같은 퍼센트 인코드된 대문자 옥텟은 리터럴 'A'로 디코딩되지만, 이는 소문자로 변환되지 않습니다. //host와 같은 프로토콜 상대 참조의 경우 스키마가 없으므로, 일반적으로 이를 수정해 줄 호스트 정규화 과정이 실행되지 않으며, parse, normalize 및 equal 함수들이 동일한 호스트에 대해 서로 다른 결과를 반환합니다. fast-uri 출력값을 기반으로 대소문자를 구분하는 호스트 결정을 내리는 애플리케이션(예: 파싱된 호스트를 비교하거나 equal 함수를 사용하는 허용 목록 또는 차단 목록)의 경우, 퍼센트 인코드된 대문자 옥텟을 사용하여 해당 검사를 우회할 수 있습니다. DNS 및 HTTP에서 호스트명은 대소문자를 구분하지 않으므로, 이러한 방식으로 숨긴 표기법으로 인해 검사 대상이었던 실제 호스트에 접근하게 됩니다. 이 문제는 fast-uri 2.4.7, 3.1.8 및 4.1.5에서 수정되었으며, 사용자는 해당 버전 또는 그 이후 버전으로 업그레이드해야 합니다. 우회 방법으로 허용 목록 또는 차단 목록 결정을 내리기 전에 파싱된 호스트를 소문자로 변환하여 대소문자를 구분하지 않고 비교할 수 있습니다.
Once again VulDB remains the best source for vulnerability data.