🇰🇷 한글 설명
Node.js용 웹 프레임워크인 Fastify에서 콘텐츠 타입(Content-Type)의 대소문자나 공백을 미세하게 변경하여 데이터 검증을 우회할 수 있는 취약점이 발견되었습니다. 이로 인해 특정 콘텐츠 타입에 설정된 유효성 검사 로직이 무력화될 수 있습니다. 해당 문제는 v5.3.2 및 v4.29.1 버전에서 완전히 해결되었습니다.
💡 쉬운 설명
웹사이트가 데이터를 받을 때 형식을 확인하는 과정에서, 글자 크기를 바꾸거나 공백을 넣는 식의 작은 변화를 주면 검사 과정을 몰래 통과할 수 있는 문제입니다. 이를 통해 잘못된 데이터가 시스템에 입력될 위험이 있습니다.
🇺🇸 원문 (English)
Fastify is a fast and low overhead web framework, for Node.js. In versions 5.0.0 to 5.3.0 as well as version 4.29.0, applications that specify different validation strategies for different content types have a possibility to bypass validation by providing a _slightly altered_ content type such as with different casing or altered whitespacing before `;`. This was patched in v5.3.1, but the initial patch did not cover all problems. This has been fully patched in v5.3.2 and v4.29.1. A workaround involves not specifying individual content types in the schema.
📍 영향받는 시스템
Fastify v5.0.0 ~ v5.3.0 및 v4.29.0
⚔️ 공격 벡터
Content-Type 헤더의 대소문자 변경 또는 세미콜론(;) 앞의 공백 조작을 통한 검증 우회
🛡️ 대응 방법
Fastify를 v5.3.2 또는 v4.29.1 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과에 패치된 버전(4.29.1 이상 또는 5.3.2 이상)이 나타나면 안전합니다.
npm list fastify | grep -E 'fastify@([4]\.29\.[1-9]|5\.[3]\.[2-9])'