CVE-2026-66294 in saxy
요약
\~에 의해 VulDB • 2026. 11. 06.
Saxy XML 인코더의 XML 인젝션 취약점. Saxy.Encoder.cdata/1은 {:cdata, characters} 노드를 공급된 문자열을 <![CDATA[ 와 ]]> 로 감싸서 직렬화하며, 페이로드를 바이트 단위로 그대로 전달합니다. 인코더의 character-data 및 attribute-value 경로는 XML 메타문자 <, >, &, ", ' 를 이스케이프 처리하지만, CDATA 경로에서는 전혀 중립化处理(중성화)를 수행하지 않습니다. XML은 CDATA 섹션 내부에서 문자 이스케이핑 메커니즘을 제공하지 않으므로, ]]> 부분 문자열을 표현하는 유일한 올바른 방법은 섹션을 분할하여 ]]]]><![CDATA[> 로 다시 연결하는 것입니다. Saxy는 이러한 분할 작업을 수행하거나 해당 부분 문자열을 거부하지 않습니다.
Saxy.XML.cdata/1로 노드를 생성하고 Saxy.encode!/2 또는 Saxy.encode_to_iodata!/2로 직렬화함으로써 신뢰할 수 없는 텍스트를 CDATA로 렌더링하는 애플리케이션의 경우, 공격자가 원하는 위치에서 섹션을 종료시킬 수 있습니다. ]]> 이후에 제공된 모든 내용은 CDATA 컨텍스트 외부로 방출되며 마크업으로 파싱되므로, 단일 공격자 제어 텍스트 필드가 공격자 제어 문서 구조(애플리케이션이 생성하지 않은 임의의 형제 요소 및 속성)가 됩니다. 직렬화된 문서의 하위 소비자는 인젝션된 마크업을 정 genuine 것으로 받아들입니다. SOAP 엔벨로프, RSS 또는 Atom 피드, 사이트맵, SVG 또는 사용자 제공 콘텐츠에서 XML 내보내기를 생성하는 서비스는 신뢰할 수 있는 필드가 위조되거나 재정의될 수 있습니다. 신뢰할 수 없는 텍스트를 CDATA 노드에 배치하지 않는 애플리케이션은 영향을 받지 않습니다.
이 문제는 saxy: 0.7.0부터 1.7.0 미만 버전에서 발생합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.