🇰🇷 한글 설명
undici의 setCookie 함수가 쿠키 속성을 완전히 검증하지 않아 발생하는 취약점입니다. 공격자가 입력한 도메인 값에 세미콜론을 포함시켜 SameSite, HttpOnly와 같은 쿠키 속성을 임의로 주입하거나 조작할 수 있습니다. 이로 인해 CSRF 보호 기능이 무력화되거나 보안 속성이 강제로 변경될 수 있습니다.
💡 쉬운 설명
웹사이트가 쿠키를 만들 때 사용자가 입력한 값을 제대로 검사하지 않아 발생하는 문제입니다. 나쁜 의도를 가진 사람이 쿠키 설정에 몰래 명령어를 끼워 넣어 보안 설정을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
undici's setCookie function does not fully sanitize cookie attributes. In undici before 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0, a domain value is not checked for semicolons and entries in the unparsed array are not sanitized, so attacker-influenced input can inject additional cookie attributes. For example, a domain value containing a semicolon can append attributes such as SameSite, and an unparsed entry can inject attributes such as HttpOnly, without the caller setting them. Applications that pass user-controlled input to these fields, such as multi-tenant or reverse-proxy servers that scope session cookies to a tenant-supplied domain, can have SameSite CSRF protections bypassed, or the Secure, HttpOnly, and SameSite attributes forced, stripped, or overridden. The issue is fixed in undici 6.28.0, 7.29.0, and 8.9.0.
📍 영향받는 시스템
undici < 6.28.0, 7.0.0 <= undici < 7.29.0, 8.0.0 <= undici < 8.9.0
⚔️ 공격 벡터
사용자 입력값이 포함된 도메인 값에 세미콜론(;)을 삽입하여 추가적인 쿠키 속성을 주입하는 방식
🛡️ 대응 방법
undici 버전을 6.28.0, 7.29.0 또는 8.9.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 undici의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크합니다.
npm list undici | grep undici
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server