プラットフォーム
nodejs
コンポーネント
remark-html
修正版
14.0.1
13.0.3
13.0.2
CVE-2021-39199は、Node.jsで使用されるremark-htmlライブラリにおけるクロスサイトスクリプティング(XSS)の脆弱性です。デフォルトでは安全であると記載されていましたが、実際には安全ではなく、明示的に有効にする必要がありました。この脆弱性を悪用されると、攻撃者は悪意のあるHTMLを挿入し、ユーザーのブラウザ上で実行させることが可能になります。影響を受けるバージョンはNode.jsの13.0.2以前と14.0.1以前です。この問題は13.0.2と14.0.1で修正されました。
この脆弱性は、攻撃者が悪意のあるHTMLコードをウェブページに注入し、ユーザーがそのページを閲覧した際にコードが実行されることを可能にします。これにより、攻撃者はユーザーのセッションを乗っ取ったり、機密情報を盗んだり、ウェブサイトの見た目を改ざんしたりする可能性があります。特に、ユーザーが信頼するウェブサイトでこの脆弱性が悪用された場合、被害は甚大になる可能性があります。remark-htmlは、MarkdownをHTMLに変換するために広く使用されているため、この脆弱性は多くのウェブアプリケーションに影響を与える可能性があります。攻撃者は、ユーザー入力を適切にサニタイズせずに、remark-htmlを使用してHTMLを生成する場合にこの脆弱性を悪用する可能性があります。
この脆弱性は、remark-htmlのデフォルト設定の誤りから生じています。現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、XSS脆弱性は一般的に悪用される可能性が高いため、早急な対応が必要です。CISAのKEVリストへの登録状況は不明です。公開されているPoCは確認されていませんが、XSS脆弱性であるため、攻撃者による悪用が懸念されます。
Applications and websites built with Node.js that utilize the remark-html package, particularly those relying on the default configuration without explicit sanitization, are at risk. This includes content management systems (CMS) and static site generators that integrate remark-html for HTML processing.
• nodejs / supply-chain:
npm list remark-html• nodejs / supply-chain:
npm audit remark-html• generic web:
Inspect website source code for instances of remark-html usage and verify the sanitize: true option is being used if running an older, vulnerable version.
disclosure
エクスプロイト状況
EPSS
0.33% (56% パーセンタイル)
CVSS ベクトル
この脆弱性への対応策として、まず、Node.jsのバージョンを13.0.2または14.0.1以上にアップグレードすることを推奨します。アップグレードが困難な場合は、sanitize: trueオプションをremark-htmlに渡すことで、一時的な回避策として悪意のあるHTMLの実行を防ぐことができます。具体的には、.use(remarkHtml)を.use(remarkHtml, {sanitize: true})に変更します。また、ウェブアプリケーションの入力検証を強化し、HTMLエスケープを適切に行うことで、XSS攻撃のリスクを軽減できます。アップグレード後、remark-htmlが安全に動作していることを確認するために、テスト環境でHTMLエスケープが正しく機能していることを確認してください。
バージョン13.0.2以降、またはバージョン14.0.1以降にアップデートしてください。アップデートできない場合は、`remark-html`を使用する際に`sanitize: true`オプションを渡して、ユーザー入力のサニタイズを有効にしてください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2021-39199は、Node.jsで使用されるremark-htmlライブラリにおけるクロスサイトスクリプティング(XSS)の脆弱性です。悪意のあるHTMLが通過し、攻撃者がユーザーのブラウザ上でコードを実行させることが可能になります。
はい、Node.jsのバージョン13.0.2以前と14.0.1以前を使用している場合、この脆弱性の影響を受ける可能性があります。
Node.jsのバージョンを13.0.2または14.0.1以上にアップグレードするか、sanitize: trueオプションをremark-htmlに渡してください。
現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、XSS脆弱性は一般的に悪用される可能性が高いため、早急な対応が必要です。
公式アドバイザリは、プロジェクトのGitHubリポジトリで確認できます。