プラットフォーム
php
コンポーネント
php
修正版
7.2.26
7.3.13
7.4.1
CVE-2019-11044は、PHPのlink()関数におけるパストラバーサル脆弱性です。この脆弱性により、攻撃者はファイル名に埋め込まれたヌルバイトを利用して、本来アクセスできないファイルにアクセスできる可能性があります。影響を受けるバージョンはPHP 7.2.0から7.4.1です。PHP 7.4.1以降にアップデートすることで、この脆弱性を修正できます。
この脆弱性は、PHPアプリケーションがファイルパスを検証する際に、ヌルバイトが正しく処理されない場合に悪用されます。攻撃者は、ファイル名にヌルバイトを埋め込むことで、ファイルシステム内の任意の場所にアクセスできる可能性があります。例えば、機密情報を含む設定ファイルやソースコードを読み取ることが考えられます。この脆弱性は、WebサーバーがPHPファイルを処理する際に、攻撃者が意図しないファイルにアクセスするリスクをもたらします。攻撃者は、この脆弱性を利用して、Webサイトの機密情報を盗んだり、Webサーバーを制御したりする可能性があります。
CVE-2019-11044は、2019年12月23日に公開されました。現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、ヌルバイトを利用したパストラバーサル攻撃は過去にも発生しており、注意が必要です。CISA KEVリストには登録されていません。公開されているPoCは限られていますが、この脆弱性の存在は広く知られているため、攻撃者による悪用が懸念されます。
Applications built using PHP versions 7.2.0–7.4.1 running on Windows are at risk. This includes web applications, command-line scripts, and any other PHP code that utilizes the link() function for file operations. Shared hosting environments where users have the ability to upload or manipulate files are particularly vulnerable.
• windows / server:
Get-WinEvent -FilterXPath "//Event[System[Provider[@Name='Microsoft-Windows-Sysinternals-PsExec']]]" | Select-String -Pattern '\0'• generic web:
curl -I 'http://your-php-app.com/link.php?file=../../../../etc/passwd%00'Check the response headers and body for any unexpected file content or error messages indicating path traversal.
disclosure
エクスプロイト状況
EPSS
8.02% (92% パーセンタイル)
CVSS ベクトル
この脆弱性への主な対策は、PHPのバージョンを7.4.1以降にアップデートすることです。もしアップデートが困難な場合は、入力されたファイル名を厳密に検証し、ヌルバイトが含まれていないことを確認するコードを追加してください。また、Webアプリケーションファイアウォール(WAF)を使用して、悪意のあるリクエストをブロックすることも有効です。ファイルパスの検証を強化し、不要なファイルへのアクセスを制限することで、攻撃のリスクを軽減できます。
PHPをバージョン7.2.26、7.3.13、または7.4.1にアップデートするか、それ以降のバージョンにアップデートしてください。これにより、Windows上のlink()関数におけるヌルバイト後のファイル名の切り捨てを可能にする脆弱性が修正されます。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2019-11044は、PHP 7.2.0–7.4.1のlink()関数における、ファイル名にヌルバイトが埋め込まれた場合に、ファイルシステム内の任意のファイルにアクセスできる脆弱性です。
PHP 7.2.0から7.4.1のバージョンを使用している場合は、この脆弱性に影響を受ける可能性があります。
PHPのバージョンを7.4.1以降にアップデートすることで、この脆弱性を修正できます。
現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、攻撃のリスクは存在します。
PHPの公式アドバイザリは、PHPの公式サイト(https://www.php.net/releases/security)で確認できます。