CVE-2021-23413は、jszipライブラリのバージョン3.7.0より前の脆弱性です。この脆弱性は、悪意のあるzipファイル内のファイル名をオブジェクトプロトタイプに関連する値(protoなど)に設定することで、オブジェクトプロトタイプの汚染を引き起こします。この汚染により、アプリケーションの動作が予期せぬ方向に変化する可能性があります。影響を受けるバージョンは3.7.0より前のすべてのバージョンであり、バージョン3.7.0へのアップデートで修正されています。
攻撃者は、この脆弱性を悪用して、jszipライブラリを使用しているNode.jsアプリケーションの動作を制御する可能性があります。具体的には、オブジェクトプロトタイプを汚染することで、アプリケーションの重要な機能に影響を与えたり、機密情報を漏洩させたりする可能性があります。この脆弱性は、特にファイル処理やデータ解析を行うアプリケーションにおいて深刻な影響を与える可能性があります。プロトタイプ汚染は、アプリケーション全体のセキュリティを損なう可能性があり、攻撃者はこの脆弱性を利用して、システムへの不正アクセスやデータの改ざんを試みる可能性があります。
CVE-2021-23413は、公開されており、PoC(Proof of Concept)コードも存在します。CISAのKEV(Known Exploited Vulnerabilities)カタログにはまだ登録されていません。この脆弱性は、Node.js環境でjszipライブラリを使用しているアプリケーションに影響を与えます。攻撃者は、この脆弱性を悪用して、アプリケーションの動作を制御し、機密情報を漏洩させる可能性があります。
Node.js applications that utilize the jszip library for zip file handling are at risk. This includes web applications, command-line tools, and any other JavaScript environment leveraging jszip. Projects using older versions of jszip, particularly those without robust input validation, are especially vulnerable.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -like '*node*'} | Select-Object Name, Path, CPU• nodejs / supply-chain:
Get-ChildItem -Path Env:NODE_PATH -Recurse -Filter 'jszip*' | Select-Object FullName• generic web: Inspect Node.js application logs for errors related to object property modifications or unexpected behavior after zip file processing.
disclosure
エクスプロイト状況
EPSS
0.14% (34% パーセンタイル)
CVSS ベクトル
この脆弱性への主な対策は、jszipライブラリをバージョン3.7.0以降にアップデートすることです。もしアップデートが困難な場合は、入力されたzipファイルのファイル名を検証し、オブジェクトプロトタイプに関連する値が含まれていないことを確認するなどの対策を講じる必要があります。また、WAF(Web Application Firewall)を導入し、悪意のあるzipファイルのアップロードを検知・ブロックすることも有効です。アップデート後、アプリケーションを再起動し、正常に動作することを確認してください。
jszip の依存関係をバージョン 3.7.0 以降にアップデートしてください。これにより、悪意のあるファイル名で zip ファイルを作成することで Object プロトタイプが操作されることによって引き起こされるサービス拒否の脆弱性が修正されます。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2021-23413は、jszipライブラリのバージョン3.7.0より前の脆弱性で、悪意のあるzipファイルを作成することでオブジェクトプロトタイプを汚染し、予期せぬ動作を引き起こす可能性があります。
jszipのバージョン3.7.0より前のバージョンを使用しているNode.jsアプリケーションは、この脆弱性に影響を受ける可能性があります。
jszipライブラリをバージョン3.7.0以降にアップデートすることで、この脆弱性を修正できます。
CVE-2021-23413は公開されており、PoCコードも存在するため、悪用される可能性があります。
jszipの公式アドバイザリは、[https://github.com/nodeca/jszip/issues/2934](https://github.com/nodeca/jszip/issues/2934)で確認できます。