プラットフォーム
nodejs
コンポーネント
is
修正版
0.9.1
CVE-2020-26302は、is.jsライブラリの正規表現に起因するサービス拒否(DoS)の脆弱性です。悪意のあるURLを検証しようとすると、正規表現が過剰な処理を行い、サービス停止を引き起こす可能性があります。この脆弱性は、バージョン0.9.0以前のis.jsに存在します。バージョン0.9.1で修正されました。
CVE-2020-26302 は、汎用的なチェックライブラリである is.js に影響を与えます。バージョン 0.9.0 以前には、URL を検証するために使用される非効率な正規表現が原因で、正規表現によるサービス拒否 (ReDoS) の脆弱性が含まれています。この正規表現は gist からコピーされたもので、悪意のある文字列を処理する際に無限ループに陥る可能性があり、サーバーのリソースを過剰に消費し、サービスの中断につながる可能性があります。この脆弱性の深刻度は CVSS スケールで 7.5 と評価されており、中程度のリスクを示しています。is.js からの公式パッチがないことは状況を悪化させ、代替の軽減策を必要とします。
CVE-2020-26302 の悪用には、is.js を使用するアプリケーションに特別に作成された URL を送信することが含まれます。この URL には、URL 検証正規表現内の無限ループをトリガーする文字列が含まれています。攻撃者はこの脆弱性を悪用するために認証を必要としません。これは、ライブラリの検証ロジックに影響を与えるためです。影響は、サーバーの負荷と悪意のある文字列の複雑度に応じて、サーバーのパフォーマンスの低下から完全なサービスの中断までさまざまです。この脆弱性は、外部ソースから大量の URL を処理する Web アプリケーションで特に懸念されます。
Applications built using is.js, particularly those that handle user-supplied URLs without proper validation, are at risk. Node.js projects relying on this library are especially vulnerable. Shared hosting environments where multiple applications share the same server resources could experience broader impact from a successful attack.
• nodejs: Monitor CPU usage spikes when validating URLs. Use ps or top to identify processes consuming excessive CPU.
ps aux | grep is.js• generic web: Examine access logs for unusual patterns of URL requests. Look for URLs containing complex or unusual characters.
grep 'complex_url_pattern' /var/log/apache2/access.logdiscovery
disclosure
エクスプロイト状況
EPSS
0.27% (51% パーセンタイル)
CVSS ベクトル
CVE-2020-26302 の is.js からの公式パッチがないため、主な軽減策は 0.9.1 より前のバージョンにアップグレードするか、実現可能であれば is.js の使用を完全に削除することです。アップグレードが不可能な場合は、is.js に URL を渡す前に URL を検証するための堅牢な入力フィルターを実装することをお勧めします。このフィルターは、疑わしいパターンや異常な文字を含む URL をすべて拒否する必要があります。さらに、正規表現の実行時間を制限することで、ReDoS 攻撃を防ぐのに役立ちますが、これによりライブラリの機能が影響を受ける可能性があります。サーバーの CPU およびメモリ使用量を監視することは、潜在的な ReDoS 攻撃を検出するために重要です。
Este paquete contiene una vulnerabilidad ReDoS. No existe una versión corregida. Se recomienda evaluar alternativas a la librería is.js o implementar validaciones adicionales para las URLs antes de usar la función vulnerable.
脆弱性分析と重要アラートをメールでお届けします。
ReDoS (Regular Expression Denial of Service) は、正規表現の非効率性を悪用してサービス拒否を引き起こす攻撃の一種です。
この脆弱性を悪用して、攻撃者が Web アプリケーションのサービスを中断させ、過剰なリソースを消費させることが可能になります。
いいえ、is.js はこの脆弱性に対する公式の修正をリリースしていません。
is.js に URL を渡す前に、URL を検証するための堅牢な入力フィルターを実装し、正規表現の実行時間を制限してください。
サーバーの CPU およびメモリ使用量を監視します。急激で持続的な増加は、ReDoS 攻撃を示している可能性があります。