
概要
CMSimple_XH バージョン1.7.6において、クロスサイトスクリプティング (XSS) の脆弱性が確認されました。この脆弱性により、認可されたユーザーが悪意のあるJavaScriptコードを含むSVGファイルをアップロードすることが可能になります。問題は、アプリケーションのファイルアップロード機能において、アップロードされたSVGファイルの検証とサニタイズが不十分であることに起因します。
脆弱性の詳細
説明
この脆弱性は、アプリケーションがユーザーによってアップロードされたSVGファイルを適切に検証およびサニタイズできないことに起因します。攻撃者は、悪意のあるJavaScriptコードを含む特別に細工されたSVGファイルをアップロードすることで、この欠陥を悪用する可能性があります。アップロードされたSVGファイルが他のユーザーによってアクセスされると、注入されたJavaScriptコードがCMSimple_XHアプリケーションのコンテキスト内でそれらのブラウザ上で実行されます。これにより、さまざまなXSS攻撃が引き起こされる可能性があります。
影響
概念実証
ドキュメントのクッキーを表示するアラートをトリガーする悪意のあるSVGコードの例:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert(document.cookie);
</script>
</svg>
再現手順
スクリーンショット

謝辞: この脆弱性は、Suraj Theekshanaによって発見され報告されました。