CVE-2026-110306 in fast-uri
요약
\~에 의해 VulDB • 2026. 10. 20.
fast-uri는 Node.js용 의존성 없는 RFC 3986 URI 파서 및 직렬화 도구입니다. 버전 2.4.8 이전, 3.0.0부터 3.1.8까지, 그리고 4.0.0부터 4.2.2 사이의 fast-uri에서는 유효성 검사 전에 레거시 전역 unescape() 함수를 사용하여 scheme 구성 요소를 percent-decode합니다. 따라서 decoded된 scheme이 위험한 토큰인 경우 입력값은 RFC 3986에서 scheme의 percent-encoding을 허용하지 않으며 다른 파서도 이를 수용하지 않음에도 불구하고 실제 유효한 scheme으로 처리되어 방출됩니다. 원본 입력에서 위험한 schemes를 필터링한 후 정규화되거나 해결된 결과를 저장하거나 렌더링하는 애플리케이션은 무해한 문자열을 실행 가능한 javascript, data 또는 vbscript URL로 변환하여 저장형(reflected) 또는 반사형(cross-site scripting) XSS 벡터를 생성할 수 있습니다. 또한 equal() 비교는 인코딩된 scheme과 일반 plain scheme을 동일하게 취급하므로 등호 기반 allowlist를 우회할 수 있습니다. 이 문제는 fast-uri 2.4.8, 3.1.9 및 4.2.3에서 수정되었으며, 사용자는 이러한 버전 중 하나로 업그레이드하거나 그 이후 버전을 사용해야 합니다. 작업around로 scheme 부분에 percent sign가 포함된 입력을 거부하거나, 정규화 후 parsed된 scheme을 allowlist와 비교하고 원본 문자열 대신 동일한 parsed 결과를 사용하는 것이 좋습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.