3.1.3
4.0.1
3.1.3
CVE-2021-3795は、Node.jsで使用されるsemver-regexパッケージにおける正規表現の複雑性に関連するサービス拒否(DoS)脆弱性です。この脆弱性は、悪意のあるバージョンのsemver文字列を処理する際に、過剰なCPUリソースを消費させ、システムをダウンさせる可能性があります。影響を受けるバージョンは3.1.0と3.1.1です。3.1.3へのアップデートでこの問題は修正されています。
この脆弱性は、攻撃者が悪意のあるバージョンのsemver文字列をアプリケーションに送信することで、semver-regexパッケージが過剰なCPUリソースを消費する原因となります。これにより、アプリケーションのパフォーマンスが著しく低下したり、完全に停止したりする可能性があります。特に、semver-regexパッケージを頻繁に使用するアプリケーションや、外部からの入力を直接処理するアプリケーションは、この脆弱性の影響を受けやすいと考えられます。攻撃者は、DoS攻撃を実行することで、アプリケーションの可用性を低下させ、ビジネスへの影響を及ぼす可能性があります。
CVE-2021-3795は、2021年9月20日に公開されました。現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、npmの脆弱性として広く認知されており、将来的な悪用の可能性は否定できません。この脆弱性は、CISA KEVカタログには登録されていません。公開されているPoCは限られていますが、正規表現の複雑性を利用したDoS攻撃の可能性を示唆しています。
Applications and services built on Node.js that utilize the semver-regex package for version validation or processing are at risk. This includes projects that handle user-provided version information, interact with package managers, or rely on external systems that provide version strings. Specifically, projects using older versions of npm or yarn that automatically install vulnerable dependencies are particularly susceptible.
• nodejs / server:
npm list semver-regexIf the output shows a version prior to 3.1.3, the system is vulnerable. • nodejs / server:
npm audit semver-regexThis command will identify vulnerable packages in your project.
• nodejs / supply-chain: Examine package.json files for dependencies on semver-regex and check their versions.
disclosure
エクスプロイト状況
EPSS
0.23% (45% パーセンタイル)
CVSS ベクトル
この脆弱性への主な対策は、semver-regexパッケージをバージョン3.1.3以降にアップデートすることです。アップデートがすぐに実行できない場合は、入力検証を強化し、悪意のあるsemver文字列がsemver-regexパッケージに渡されないようにする必要があります。WAF(Web Application Firewall)を使用している場合は、悪意のあるsemver文字列を検出してブロックするルールを追加することも有効です。また、アプリケーションのログを監視し、異常なCPU使用率やパフォーマンスの低下を検知することも重要です。
semver-regex の依存関係をバージョン 4.0.1 以上にアップデートしてください。バージョン 3.x を使用している場合は、バージョン 3.1.3 以上にアップデートしてください。これにより、正規表現の複雑性の脆弱性が修正されます。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2021-3795は、Node.jsのsemver-regexパッケージにおける正規表現の複雑性によるサービス拒否(DoS)脆弱性です。悪意のあるバージョンのsemver文字列を処理することで、過剰なCPUリソースを消費させ、サービスを停止させる可能性があります。
Node.jsアプリケーションでsemver-regexパッケージのバージョン3.1.0または3.1.1を使用している場合は、影響を受けます。バージョン3.1.3以降にアップデートしてください。
semver-regexパッケージをバージョン3.1.3以降にアップデートしてください。npm install semver-regex@latest コマンドでアップデートできます。
現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、将来的な悪用の可能性は否定できません。
npmの脆弱性に関する情報は、[https://www.npmjs.com/advisories/](https://www.npmjs.com/advisories/)で確認できます。