CVE-2026-40186 in apostrophe
要約
〜によって VulDB • 2026年05月15日
ApostropheCMSは、オープンソースのNode.jsコンテンツマネジメントシステムです。ApostropheCMSがメンテナンスするsanitize-htmlパッケージのバージョン2.17.1に含まれるコミット49d0bb7で導入された回帰により、nonTextTagsArray要素(textareaおよびoption)内のテキストに対するallowedTagsの適用が回避されます。ApostropheCMSバージョン4.28.0は、脆弱なsanitize-htmlバージョンへの依存関係により影響を受けます。packages/sanitize-html/index.jsの569-573行目のコードは、htmlparser2がこれらの要素内でエンティティをデコードしないという誤った前提に基づき、エスケープ処理をスキップしていますが、htmlparser2 10.xでは、テキストをontextコールバックに渡す前にエンティティがデコードされます。その結果、エンティティエンコードされたHTMLはパーサーによってデコードされ、リテラルなHTML文字として出力に直接書き込まれ、allowedTagsフィルタが完全に回避されます。攻撃者は、エンティティエンコーディングを使用して、許可された任意のoptionまたはtextarea要素を通じて、XSSペイロードを含む任意のタグを注入できます。これは、optionまたはtextareaがallowedTagsに含まれる非デフォルト設定に影響を与え、フォームビルダーやCMSプラットフォームで一般的です。この問題は、sanitize-htmlのバージョン2.17.2およびApostropheCMSのバージョン4.29.0で修正されています。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.