🔍 CVE-2026-109829

7.4
CVSS Score
HIGH
2026-10-15
2026-10-19 20:45
✅ 완료

🇰🇷 한글 설명

Node.js용 HTTP 클라이언트 라이브러리인 undici에서 리다이렉트와 캐시 인터셉터의 처리 순서 문제로 인해 캐시 키가 잘못 생성되는 취약점이 발견되었습니다. 공격자가 신뢰할 수 있는 URL로 리다이렉트되도록 유도하면 악성 응답을 캐시에 저장하거나, 사용자의 개인 정보를 캐시에 저장하여 타인에게 노출시키는 캐시 포이즈닝 및 데이터 유출이 가능합니다.

💡 쉬운 설명

웹사이트가 다른 주소로 연결될 때, 원래 주소와 바뀐 주소를 혼동하여 잘못된 정보를 저장하는 문제입니다. 이를 통해 해커가 가짜 정보를 보여주게 하거나 다른 사람의 개인 정보를 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

undici is an HTTP client library for Node.js. In versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1, when an originless Agent composes the redirect and cache interceptors in that order with a shared cache store, the cache builds its key from the original request URL before the redirect handler changes the origin, so a response produced after a cross-origin redirect is stored under the original key. An attacker who controls the target of a redirect from a trusted URL can have their response cached under that trusted URL and served to later callers, allowing persistent cache poisoning, and the same key confusion lets a private, non-stored redirect response to a user-specific resource be stored under the original URL and served to a later unauthenticated caller, disclosing private data. Applications are affected only when an originless Agent, a shared cache store, and the redirect-then-cache composition are all used. The issue is fixed in undici 7.30.1 and 8.12.2, which verify the producing origin still matches the cache key and preserve each redirect hop's cache-control policy before storing, and users should upgrade to one of those versions or later. As a workaround, compose the cache interceptor before the redirect interceptor, use per-origin dispatchers and cache stores, or disable shared caching on redirect-capable requests.

📍 영향받는 시스템

undici versions 7.0.0-7.30.0 and 8.0.0-8.12.1

⚔️ 공격 벡터

신뢰할 수 있는 URL에서 공격자가 제어하는 외부 URL로 리다이렉트되도록 유도하여 캐시를 오염시키거나 개인 정보를 탈취함

🛡️ 대응 방법

undici 버전을 7.30.1 또는 8.12.2 이상으로 업데이트하거나, 캐시 인터셉터를 리다이렉트 인터셉터보다 먼저 구성함

🔧 검증 코드

출력된 undici의 버전이 취약한 범위(7.0.0-7.30.0 또는 8.0.0-8.12.1)에 포함되는지 확인합니다.

Shell / Script
npm list undici | grep undici

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js