🔍 CVE-2026-86818

4.8
CVSS Score
MEDIUM
2026-09-15
2026-09-16 19:40
✅ 완료

🇰🇷 한글 설명

Node.js용 URI 파서인 fast-uri의 4.1.3 및 4.1.4 버전에서 mailto 스킴 처리 시 퍼센트 인코딩된 필드 이름을 제대로 인식하지 못하는 취약점이 발견되었습니다. 이로 인해 공격자가 의도한 수신자나 제목, 본문 내용이 검증 과정을 우회하여 데이터가 유입되거나 스머글링될 수 있습니다.

💡 쉬운 설명

이메일 주소를 해석하는 프로그램이 특수 기호로 숨겨진 명령어를 제대로 읽지 못해 발생하는 문제입니다. 공격자가 교묘하게 숨겨놓은 이메일 주소나 내용을 시스템이 검사 없이 그대로 통과시켜 버릴 수 있습니다.

🇺🇸 원문 (English)

fast-uri is a dependency-free RFC 3986 URI parser for Node.js, used by Fastify and ajv, that added a mailto scheme parser in version 4.1.3. In versions 4.1.3 and 4.1.4, the mailto parser compares each query field name to the reserved names to, subject, and body while the name is still percent-encoded, and decodes it only when storing it as a generic header, so a percent-encoded spelling of a reserved field name is not recognized as that field at parse time but is re-emitted as the literal field name when the parsed URI is serialized. An application that validates, logs, or displays the recipient list from the first parse and then serializes the URI and sends it can silently gain an attacker-chosen recipient, and the subject and body fields can be smuggled across the same roundtrip. The issue is fixed in fast-uri 4.1.5, and users should upgrade to 4.1.5 or later. As a workaround, do not act on a mailto URI that fast-uri has re-serialized without first decoding and re-validating its recipient, subject, and body fields.

📍 영향받는 시스템

fast-uri versions 4.1.3 and 4.1.4

⚔️ 공격 벡터

퍼센트 인코딩된 예약 필드 이름을 사용하여 검증 로직을 우회하고 데이터를 주입하는 방식

🛡️ 대응 방법

fast-uri를 4.1.5 버전 이상으로 업그레이드하거나, 재직렬화된 URI를 사용하기 전 반드시 디코딩 및 재검증 과정을 거쳐야 합니다.

🔧 검증 코드

출력된 결과에서 fast-uri의 버전이 4.1.3 또는 4.1.4인지 확인합니다.

Shell / Script
npm list fast-uri | grep fast-uri

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

Node.js