PHP 8.1.29リリース対応 PHPセキュリティ保守サービス パッチ配布開始
PHP 8.1.29
=================================================================================
- Filter:
. Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL).
(CVE-2024-5458) (nielsdos)FilterモジュールでIPv6ホスト名をバリデーションする場合にフィルターを回避可能となる。
■ 影響バージョン
PHP 7.3以降
PHP 7.2にはIPv4アドレスを不正と誤認識するバグがあるが修正なし
一部はPHP 7.1以下にも影響するがバックポートなし■ 互換性
以前はエラー無く処理した [ ] を含むURLバリデーションがエラーとなる。■ 解説
FILTER_VALIDATE_URLを利用した場合にIPv6ホスト名を利用して不正なURLを妥当なURLと誤認識させることが可能となる。誤認識例:
http://test[@2001:db8:3333:4444:5555:6666:1.2.3.4]
http://t[est@[::1]FilterモジュールのURLバリデーションはURLとして妥当な形式なら何でも妥当なデータとしてバリデーションしてしまうのでURLバリデーションとしては不適当である事がほとんどです。この為、他の手法でプログラムが求める妥当なURLであることを検証する必要があります。
=================================================================================
- OpenSSL:
. The openssl_private_decrypt function in PHP, when using PKCS1 padding
(OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack
unless it is used with an OpenSSL version that includes the changes from this pull
request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection).
These changes are part of OpenSSL 3.2 and have also been backported to stable
versions of various Linux distributions, as well as to the PHP builds provided for
Windows since the previous release. All distributors and builders should ensure that
this version is used to prevent PHP from being vulnerable. (CVE-2024-2408)このエントリは開発者・ディストリビュータ向けの解説です。PHPへのパッチはありません。OpenSSLライブラリへのMarvin攻撃を防止するには、OpenSSL 3.2の利用と安全なパディング方式への変更を推奨する通知です。
■ 影響バージョン
全てのPHP■ 互換性
パディングを安全な方式に変更しなければならない。これはOpenSSL 3.2以外で適用可能な回避策で、OpenSSL 3.2以降でも推奨される対策です。OpenSSL 3.2を利用できないシステムでは、PKCS1パティングを利用したままでは脆弱性に対応できない。
■ 解説
Marvin攻撃はRSA暗号の実装(PKCS1パティング)に対するサイドチャネル攻撃です。影響: 攻撃者は、RSA暗号文を復号し、署名を偽造することができます。特に、TLSサーバーがRSA暗号化鍵交換をデフォルトで使用している場合、攻撃者はセッションを記録し、後で復号することが可能です。
対策: PKCS1 v1.5パディングの使用を停止し、OAEP(Optimal Asymmetric Encryption Padding)などのより安全なパディング方式に切り替えることが推奨されます。
=================================================================================
- CGI:
. Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection
in PHP-CGI). (CVE-2024-4577) (nielsdos)Windows環境下のCGI SAPIの場合に自動実行される文字コード変換により、意図しないコマンド・コードが実行可能となる。
■ 影響バージョン
全てのPHP - Windows版のみ■ 互換性
Windows環境のみに影響する。仕様的な互換性問題はない。■ 解説
この脆弱性はWindowsの”ベストフィットマッピング”と呼ばれる文字の自動変換に起因する脆弱性です。この脆弱性を利用すると任意コマンド・コードの実行が可能となる。
Linux環境には影響がない。
=================================================================================
- Standard:
. Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874).
(CVE-2024-5585) (nielsdos)Windows環境下でproc_open()のエスケープ処理不備が原因で任意コマンド実行が可能となる。
■ 影響バージョン
全てのPHP - Windows版のみ■ 互換性
Windows環境のみに影響する。
既に適切にエスケープ処理している場合、ダブルエスケープとならないようコード修正が必要。■ 解説
Windows用のproc_open()関連コードでシェルエスケープ処理が実施されておらず、意図しないOSのコマンド実行が可能となる。
Linux環境には影響がない。