🇰🇷 한글 설명
fast-xml-parser의 XMLBuilder가 5.7.0 이전 버전에서 주석 내용의 '-->' 시퀀스와 CDATA 섹션의 ']]>' 시퀀스를 이스케이프하지 않습니다. 이로 인해 사용자 입력이 주석이나 CDATA 요소로 전달될 때 XML 인젝션이 발생할 수 있으며, 이는 XSS, SOAP 인젝션, 데이터 변조로 이어질 수 있습니다.
💡 쉬운 설명
XML 문서를 만드는 도구가 사용자 입력의 특수 문자를 제대로 막지 않아, 공격자가 문서 구조를 바꾸는 코드를 끼워 넣을 수 있습니다. 5.7.0 이상 버전으로 업데이트하면 해결됩니다.
🇺🇸 원문 (English)
fast-xml-parser allows users to process XML from JS object without C/C++ based libraries or callbacks. Prior to version 5.7.0, XMLBuilder does not escape the "-->" sequence in comment content or the "]]>" sequence in CDATA sections when building XML from JavaScript objects. This allows XML injection when user-controlled data flows into comments or CDATA elements, leading to XSS, SOAP injection, or data manipulation. This issue has been patched in version 5.7.0.
📍 영향받는 시스템
fast-xml-parser 5.7.0 미만 버전을 사용하는 Node.js 애플리케이션
⚔️ 공격 벡터
사용자 입력이 XMLBuilder로 생성되는 XML의 주석 또는 CDATA 영역에 '-->' 또는 ']]>'를 포함시켜 구조를 탈출하고 악성 XML/스크립트를 삽입
🛡️ 대응 방법
fast-xml-parser를 5.7.0 이상으로 업데이트 (npm install fast-xml-parser@latest)
🔧 검증 코드
출력된 버전이 5.7.0 미만이면 취약하므로 업데이트가 필요하고, 5.7.0 이상이면 패치가 적용된 상태입니다.
npm ls fast-xml-parser 2>/dev/null | grep fast-xml-parser