CVE-2015-8858は、uglify-jsにおいて検出されたサービス拒否(DoS)脆弱性です。この脆弱性は、parse()メソッドに特別に細工された入力を与えることで、正規表現エンジンを過負荷状態にし、システムの応答を遅延または停止させます。影響を受けるバージョンはuglify-js 2.6.0より前のものです。2.6.0へのアップデートでこの脆弱性は修正されています。
このDoS脆弱性を悪用されると、攻撃者はuglify-jsを使用するアプリケーションやシステムを容易に利用不能にすることができます。攻撃者は、大量のリクエストを送信したり、特別に細工された入力を提供することで、正規表現エンジンを過負荷状態にし、サーバーのリソースを枯渇させます。その結果、アプリケーションの応答が遅延したり、完全に停止したりする可能性があります。この脆弱性は、uglify-jsを依存関係として使用するNode.jsプロジェクトに影響を与え、広範囲な影響を及ぼす可能性があります。攻撃者は、システムの可用性を低下させ、サービスの中断を引き起こす可能性があります。
この脆弱性は、公開されているPoC(Proof of Concept)コードが存在するため、悪用される可能性が高いと考えられます。KEV(Known Exploited Vulnerabilities)カタログへの登録状況は不明ですが、DoS攻撃は比較的容易に実行できるため、注意が必要です。NVD(National Vulnerability Database)およびCISA(Cybersecurity and Infrastructure Security Agency)の公開日は2017年10月24日です。
Node.js developers and DevOps teams using uglify-js in their projects are at risk. Specifically, projects using older versions of uglify-js (prior to 2.6.0) and those that do not have robust input validation mechanisms are particularly vulnerable. Applications that rely on uglify-js for minifying JavaScript code in production environments are also at increased risk.
• nodejs / server:
ps aux | grep uglify-js | grep -v grep | awk '{print $2}' | xargs -n 1 pmap -x | grep -q 'regex' # Check for excessive regex usage• nodejs / server:
journalctl -u nodejs | grep -i 'uglify-js' | grep -i 'error' # Look for errors related to uglify-js• generic web:
Inspect Node.js application logs for unusual CPU spikes or memory usage correlated with uglify-js processing.
discovery
disclosure
patch
エクスプロイト状況
EPSS
0.90% (76% パーセンタイル)
CVSS ベクトル
この脆弱性への最良の対応策は、uglify-jsをバージョン2.6.0以降にアップデートすることです。もしアップデートがすぐに実行できない場合は、入力の検証を強化し、parse()メソッドに渡されるデータのサイズと複雑さを制限することで、攻撃のリスクを軽減できます。WAF(Web Application Firewall)を導入し、悪意のある正規表現パターンを検出してブロックすることも有効です。また、Node.jsアプリケーションのログを監視し、異常なCPU使用率やメモリ消費量などの兆候を検出することも重要です。アップデート後、uglify-jsのバージョンを確認し、脆弱性が修正されていることを確認してください。
公式パッチはありません。回避策を確認するか、アップデートを監視してください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2015-8858は、uglify-jsのparse()メソッドに悪意のある入力を渡すと、正規表現によるサービス拒否(DoS)を引き起こす脆弱性です。攻撃者はシステムの可用性を低下させる可能性があります。
uglify-jsのバージョンが2.6.0より前である場合、影響を受けます。バージョン2.6.0以降にアップデートすることで修正されます。
uglify-jsをバージョン2.6.0以降にアップデートしてください。入力の検証を強化することも有効です。
公開されているPoCコードが存在するため、悪用される可能性が高いと考えられます。
uglify-jsの公式アドバイザリは、https://github.com/uglifyjs/uglify-js/security/advisoriesを参照してください。