XML injection in Saxy via unescaped CDATA section terminator
XML injection in the Saxy XML encoder. Saxy.Encoder.cdata/1 serializes a {:cdata, characters} node by wrapping the supplied characters between <![CDATA[ and ]]> and passing the payload through byte for byte. The encoder's character-data and attribute-value paths escape the XML metacharacters <, >, &, ", and ', but the CDATA path applies no neutralization at all. XML provides no character escaping mechanism inside a CDATA section, so the only correct way to represent a ]]> substring is to split the section and rejoin it as ]]]]><![CDATA[>. Saxy neither performs that split nor rejects the substring.
Recorded fixes — saxy: 1.7.0. Check your release branch.
Exploitation not established
| Affected range | Recorded fix |
|---|---|
| From 0.7.0 before 1.7.0Semantic versions | 1.7.0 |
Version evidence: OSV · EEF-CVE-2026-66294
View original version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0.7.0"
},
{
"fixed": "1.7.0"
}
],
"type": "SEMVER"
}
],
"versions": [
"0.10.0",
"0.7.0",
"0.8.0",
"0.9.0",
"0.9.1",
"1.0.0",
"1.1.0",
"1.2.0",
"1.2.1",
"1.2.2",
"1.3.0",
"1.4.0",
"1.5.0",
"1.6.0",
"1.6.1"
]
}