CVE-2026-66294 in saxy
要約
〜によって VulDB • 2026年11月06日
Saxy XMLエンコーダーにおけるXMLインジェクション。`Saxy.Encoder.cdata/1`は、`{:cdata, characters}`ノードを、提供された文字列を `<![CDATA[` と `]]>` で囲んでバイト単位でそのまま渡すことでシリアライズします。エンコーダーのキャラクターデータおよび属性値パスではXMLメタキャラクタ `<`, `>`, `&`, `"`, `'` がエスケープされますが、CDATAパスでは何らの中和(neutralization)も適用されません。XML仕様においてCDATAセクション内には文字のエスケープ機構がないため、`]]>` サブストリングを正しく表現するには、セクションを分割して `]]]><![CDATA[>` として再接続する必要があります。Saxyはこの分割を実行せず、またそのサブストリングも拒否しません。
信頼できないテキストをCDATAとしてレンダリングするアプリケーション(`Saxy.XML.cdata/1`でノードを作成し、`Saxy.encode!/2` または `Saxy.encode_to_iodata!/2` でシリアライズする場合)では、攻撃者が任意の位置でセクションを終了させることができます。`]]>` の後に続くすべての入力はCDATAコンテキストの外に出力され、マークアップとして解析されるため、単一の攻撃者制御可能なテキストフィールドが、攻撃者制御可能なドキュメント構造(アプリケーションが構築しなかった任意の兄弟要素や属性)に変化します。シリアライズされたドキュメントの下流消費者は、インジェクションされたマークアップを正規のものとして受け入れます。SOAPエンベロープ、RSSまたはAtomフィード、サイトマップ、SVG、ユーザー提供コンテンツからのXMLエクスポートなどを生成するサービスでは、信頼できるフィールドが偽造されたり上書きされたりする可能性があります。信頼できないテキストをCDATAノードに配置しないアプリケーションは影響を受けません。
本問題は saxy: 0.7.0 から 1.7.0 より前のバージョンに影響します。
If you want to get best quality of vulnerability data, you may have to visit VulDB.