CVE-2017-12852は、NumPyライブラリのnumpy.pad関数におけるサービス拒否(DoS)脆弱性です。この脆弱性は、NumPyのバージョン1.9.3以前に影響を与えます。攻撃者は、無効な入力をnumpy.pad関数に渡すことで、無限ループを引き起こし、システムリソースを枯渇させ、DoS攻撃を実行できます。バージョン1.13.3へのアップデートで修正されています。
この脆弱性を悪用されると、攻撃者はNumPyを使用するアプリケーションに対してDoS攻撃を実行できます。具体的には、numpy.pad関数に空のリストやndarrayなどの無効な入力を渡すことで、関数が無限ループに陥り、CPUリソースを過剰に消費し、システムを応答不能にさせることが可能です。特に、NumPyを大量のデータ処理に使用するアプリケーションや、外部からの入力を処理するアプリケーションは、この脆弱性の影響を受けやすいと考えられます。攻撃者は、この脆弱性を利用して、ターゲットシステムの可用性を低下させ、業務の中断を引き起こす可能性があります。
CVE-2017-12852は、2017年8月15日に公開されました。現時点では、この脆弱性を悪用した公開されているPoC(Proof of Concept)は確認されていませんが、DoS攻撃の可能性は否定できません。CISA KEVカタログへの登録状況は不明です。NumPyは、科学技術計算において広く利用されているため、この脆弱性の悪用は広範囲に影響を及ぼす可能性があります。
エクスプロイト状況
EPSS
0.81% (74% パーセンタイル)
CVSS ベクトル
この脆弱性への対応策として、NumPyをバージョン1.13.3以降にアップデートすることを推奨します。アップデートが困難な場合は、numpy.pad関数の入力を厳密に検証し、空のリストやndarrayなどの無効な入力が渡されないようにする必要があります。また、WAF(Web Application Firewall)を導入し、異常なリクエストを検知・遮断することも有効です。NumPyを使用するアプリケーションの監視を強化し、CPU使用率の異常な上昇を検知した場合に、速やかに対応することも重要です。アップデート後、numpy.pad関数に有効な入力を与え、正常に処理されることを確認してください。
公式パッチはありません。回避策を確認するか、アップデートを監視してください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2017-12852は、NumPyライブラリのnumpy.pad関数におけるサービス拒否(DoS)脆弱性です。バージョン1.9.3以前に影響を与え、無効な入力により無限ループを引き起こし、DoS攻撃を許容します。
NumPyのバージョンが1.9.3以前を使用している場合は、この脆弱性の影響を受けます。バージョン1.13.3以降にアップデートすることで、脆弱性を解消できます。
NumPyをバージョン1.13.3以降にアップデートしてください。アップデートが困難な場合は、numpy.pad関数の入力を厳密に検証し、無効な入力が渡されないようにする必要があります。
現時点では、この脆弱性を悪用した公開されているPoCは確認されていませんが、DoS攻撃の可能性は否定できません。
NumPyの公式アドバイザリは、NumPyの公式ウェブサイトまたは関連するセキュリティデータベースで確認できます。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。