Windowsで動く複数のプログラミング言語の脆弱性に注意喚起、JPCERT/CC
マイナビニュース2024年4月17日(水)8時9分
JPCERTコーディネーションセンター(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)は4月15日、「JVNVU#94343502: 複数のプログラミング言語のWindows環境におけるコマンド実行処理において引数のエスケープ処理が適切でない問題」において、Windows上で動作する複数のプログラミング言語に引数を適切にエスケープしない脆弱性が存在するとして、注意を喚起した。この脆弱性はアプリケーションのコマンドインジェクションにつながる可能性がある。
○脆弱性に関する情報
脆弱性に関する情報は次のページにまとまっている。
VU#123335 - Multiple programming languages fail to escape arguments properly in Microsoft Windows
Windowsで動くプログラミング言語に脆弱性、引数の扱い方の穴を突いて攻撃 | TECH+(テックプラス)
脆弱性に関連した情報(CVE)は次のとおり。
CVE-2024-1874 - PHPのproc_openにコマンドインジェクションの脆弱性
CVE-2024-22423 - yt-dlpにコマンドインジェクションの脆弱性。オプション「-exec %q」には不適切なエスケープ処理が存在する(参考:「--exec command injection when using %q in yt-dlp on Windows (CVE-2023-40581 bypass) Advisory yt-dlp/yt-dlp GitHub」)
CVE-2024-24576 - RustのCommand APIに不適切なエスケープの脆弱性。Rustの開発者は適切にエスケープする方法はないと判断し、安全ではない引数を入力エラーとして処理する方法で対策した。この修正は悪意のない有効な引数をエラーとみなす可能性がある
CVE-2024-27980 - Node.jsの「child_process.spawn」および「child_process.spawnSync」にコマンドインジェクションの脆弱性。攻撃者は悪意のあるコマンドライン引数を使用して任意のコマンドを実行する可能性がある
CVE-2024-3566 - コマンドインジェクションの脆弱性。CreateProcess関数に間接的に依存するWindowsアプリケーションに影響する可能性がある
○脆弱性の影響を受けるプログラミング言語
脆弱性の影響を受けるプログラミング言語およびバージョンは次のとおり。
Haskell Programming Language processパッケージ バージョン1.0.0.0から1.6.19.0より前のバージョン
Node.js 18.x
Node.js 20.x
Node.js 21.x
Rust 1.77.2より前のバージョン
PHP 8.1.28より前のバージョン
PHP 8.2.18より前のバージョン
PHP 8.3.5より前のバージョン
yt-dlp バージョン2024.04.09より前のバージョン
○脆弱性を修正したプログラミング言語
脆弱性を修正したプログラミング言語およびバージョンは次のとおり。
Haskell Programming Language processパッケージ バージョン1.6.19.0
Node.js 18.20.2
Node.js 20.12.2
Node.js 21.7.3
Rust 1.77.2
PHP 8.1.28およびこれ以降のバージョン
PHP 8.2.18およびこれ以降のバージョン
PHP 8.3.5およびこれ以降のバージョン
yt-dlp バージョン2024.04.09
○脆弱性の影響を受けないプログラミング言語
脆弱性の影響を受けないとされるプログラミング言語は次のとおり。
Go Programming Language
上記以外のプログラミング言語は調査中であり、影響の有無は各言語の開発者に問い合わせる必要がある。影響を受ける言語を使用していてパッチが提供されていない場合、アプリケーションの開発者はアプリケーション側で必要なエスケープ処理を実装するか、または悪意のある処理を無効化する必要がある。JPCERT/CCはプログラミング言語開発者が提供する情報に基づいて開発環境のアップデートを推奨している。
○脆弱性に関する情報
脆弱性に関する情報は次のページにまとまっている。
VU#123335 - Multiple programming languages fail to escape arguments properly in Microsoft Windows
Windowsで動くプログラミング言語に脆弱性、引数の扱い方の穴を突いて攻撃 | TECH+(テックプラス)
脆弱性に関連した情報(CVE)は次のとおり。
CVE-2024-1874 - PHPのproc_openにコマンドインジェクションの脆弱性
CVE-2024-22423 - yt-dlpにコマンドインジェクションの脆弱性。オプション「-exec %q」には不適切なエスケープ処理が存在する(参考:「--exec command injection when using %q in yt-dlp on Windows (CVE-2023-40581 bypass) Advisory yt-dlp/yt-dlp GitHub」)
CVE-2024-24576 - RustのCommand APIに不適切なエスケープの脆弱性。Rustの開発者は適切にエスケープする方法はないと判断し、安全ではない引数を入力エラーとして処理する方法で対策した。この修正は悪意のない有効な引数をエラーとみなす可能性がある
CVE-2024-27980 - Node.jsの「child_process.spawn」および「child_process.spawnSync」にコマンドインジェクションの脆弱性。攻撃者は悪意のあるコマンドライン引数を使用して任意のコマンドを実行する可能性がある
CVE-2024-3566 - コマンドインジェクションの脆弱性。CreateProcess関数に間接的に依存するWindowsアプリケーションに影響する可能性がある
○脆弱性の影響を受けるプログラミング言語
脆弱性の影響を受けるプログラミング言語およびバージョンは次のとおり。
Haskell Programming Language processパッケージ バージョン1.0.0.0から1.6.19.0より前のバージョン
Node.js 18.x
Node.js 20.x
Node.js 21.x
Rust 1.77.2より前のバージョン
PHP 8.1.28より前のバージョン
PHP 8.2.18より前のバージョン
PHP 8.3.5より前のバージョン
yt-dlp バージョン2024.04.09より前のバージョン
○脆弱性を修正したプログラミング言語
脆弱性を修正したプログラミング言語およびバージョンは次のとおり。
Haskell Programming Language processパッケージ バージョン1.6.19.0
Node.js 18.20.2
Node.js 20.12.2
Node.js 21.7.3
Rust 1.77.2
PHP 8.1.28およびこれ以降のバージョン
PHP 8.2.18およびこれ以降のバージョン
PHP 8.3.5およびこれ以降のバージョン
yt-dlp バージョン2024.04.09
○脆弱性の影響を受けないプログラミング言語
脆弱性の影響を受けないとされるプログラミング言語は次のとおり。
Go Programming Language
上記以外のプログラミング言語は調査中であり、影響の有無は各言語の開発者に問い合わせる必要がある。影響を受ける言語を使用していてパッチが提供されていない場合、アプリケーションの開発者はアプリケーション側で必要なエスケープ処理を実装するか、または悪意のある処理を無効化する必要がある。JPCERT/CCはプログラミング言語開発者が提供する情報に基づいて開発環境のアップデートを推奨している。
「Windows」をもっと詳しく
「Windows」のニュース
-
Microsoft Wordのデフォルトの貼り付けオプションが「書式を結合」に変更へ5月17日16時36分
-
【Windows/Mac対応】Apple IDが不明なエラーが起きた場合の対策AnyUnlock2.0.8.5が発表5月17日12時0分
-
窓辺の小石 第166回 アジャストメント Window5月17日10時47分
-
Windowsにゼロデイの特権昇格の脆弱性、悪用確認済み - すぐに更新を5月16日7時31分
-
Microsoft、2024年5月の月例更新 - 60件の脆弱性への対応が行われる5月15日17時14分
-
【Windows/Mac】パソコンの音楽をiPhoneに取り込む方法|AnyTransが8.9.8.5が発表5月15日9時0分
-
【Windows/Mac】スマホに保存したデータをパソコンに移す方法DroidKit2.3.0.9が発表5月14日14時0分
-
Copilot in Windowsを使ってみよう 第17回 なるべく意図したロゴを描かせる方法5月13日9時0分
-
ネットワークテスト自動化ツール「NEEDLEWORK(ニードルワーク)」のWindowsアプリケーション版(EXE版)で「ネットワーク負荷テスト」が利用可能に5月10日10時0分
-
前回画面や複数フォントなど便利な機能「Windowsターミナル プレビュー 1.21」5月9日12時55分