Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
php2shell-eol-backport — RHEL、CentOS、Oracle Linux 7 / 6 のサポート終了済み PHP 5.4 / 5.3 パッケージに対する CVE-2026-109618 / CVE-2026-109619(php2shell)の非公式修正 | Kitploit
ツール/GitHubGitHub/alvm/php2shell-eol-backport
防御ツール脆弱性分析構成監査DevSecOpsユーティリティとフレームワークサプライチェーンセキュリティ
GitHubalvm/php2shell-eol-backport

php2shell-eol-backport

RHEL、CentOS、Oracle Linux 7 / 6 のサポート終了済み PHP 5.4 / 5.3 パッケージに対する CVE-2026-109618 / CVE-2026-109619(php2shell)の非公式修正

リポジトリを見る
9時間22分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

php2shell-eol-backport

CVE-2026-109618 および CVE-2026-109619(「php2shell」)に対する非公式の修正です。対象は Enterprise Linux 6 および 7 のサポート終了済み PHP パッケージ、すなわち php-5.3.3(RHEL / CentOS / Oracle Linux 6)と php-5.4.16(RHEL / CentOS / Oracle Linux / Scientific Linux 7)です。

PHP は 2026年10月21日に 8.2.35、8.3.36、8.4.27、8.5.12 で両方の脆弱性を修正し、7.4、8.0、8.1 向けのソースバックポートを公開しました。PHP 5 向けには何もリリースされておらず、EL6 / EL7 のベンダーも修正を提供していません。このようなシステムを稼働させ続けなければならない場合に、このプロジェクトは公式の最小修正を移植した再ビルド済みベンダーパッケージを提供します。

これは PHP、Red Hat、Oracle による公式の修正ではありません。 サポート対象の PHP バージョンへ移行できるまでのリスクを軽減するものです。できるだけ早く移行してください。 EL8 / EL9 / EL10 では、代わりにベンダーの更新をインストールしてください(例: ELSA/RHSA-2026:87080、87151、87079)。

修正内容

  • CVE-2026-109618 および CVE-2026-109619、CVSS 4.0 9.2。
  • このパッチは php-src コミット 712e60f9ed (「Avoid state corruption via bailout」)を PHP 5.3 / 5.4 のコードベースへ移植したもので、PHP 7.4 向けの公式最小バックポートに相当します。既存のセキュリティパッチをすべて適用したベンダーパッケージの上に適用されます。
  • パッチはベンダーのソースツリーに対して作成されています。素の php-5.4.16 / php-5.3.3 リリース tarball には適用できません。これらの tarball には、同じコードに対するベンダー後期のセキュリティ修正(例えば multipart ヘッダ解析における CVE-2015-4024)が含まれていないためです。
ディストリビューションベンダーパッケージこのプロジェクトによる修正済みパッケージ
RHEL / CentOS / Oracle Linux / Scientific Linux 7php-5.4.16-48.el7php-5.4.16-48.el7.php2shell.1
RHEL / CentOS / Oracle Linux 6php-5.3.3-50.el6_10php-5.3.3-50.el6_10.php2shell.1

リリースサフィックスはベンダーパッケージより上位にソートされ、将来のベンダーエラータ(例えば 48.el7_9.1)より下位になります。そのため、公式修正が登場した場合は通常の更新によってこのパッケージが置き換えられます。

PHP 5 ではどの程度深刻か?

おそらく PHP 7 や 8 ほどではないものの、まだ明確な答えはありません:

  • Red Hat は RHEL 6 / 7 の php パッケージを CVE-2026-109619 の影響を受けない(「脆弱なコードが存在しない」)と評価しており、CVE-2026-109618 は調査中としています(CSAF VEX)。
  • PHP 5.3 に関する独立した分析では、メモリ不足のフォールトには到達可能であるものの、公開されているメモリ破壊のステップは PHP 7 エンジンの内部構造に依存しているため、PHP 5 では既知の攻撃はサービス拒否(DoS)で終わると結論付けています。PHP 5.4〜5.6 はコードの比較によって評価されたものであり、テストはされておらず、他の攻撃経路も排除されていません。

このプロジェクトは、いずれにせよ公式の緩和策を適用します。すなわち、既知の到達経路だけでなく、安全でないエラーパス自体を除去します。

インストール

GitHub Pages 上の署名済み yum リポジトリから:

# EL7
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el7.repo
# EL6
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el6.repo

yum update 'php*'            # confirm the signing key: fingerprint under "Signing key" below
service httpd restart        # and php-fpm, if you use it

リポジトリにはこのプロジェクトの PHP パッケージのみが含まれており、パッケージとリポジトリの メタデータの両方が署名されています(gpgcheck=1、repo_gpgcheck=1)。RPM とソース RPM は各 リリースにも署名済みの SHA256SUMS とともに添付されており、 yum localinstall でインストールできます。

システムをチェックする

./tools/check-patched.sh

インストールされているすべての PHP 5 パッケージを FIXED または VULNERABLE として一覧表示し、PHP CLI が修正済みコードを実行していることを確認し、httpd または php-fpm が更新前に起動されて古いコードを実行し続けている場合は警告します。

動作の変更と既知の制限

この修正は公式の最小限のバックポートに従っており、優雅なエラー処理よりも安全性を優先しています:

  • メモリ枯渇は PHP プロセスを終了させます。 リクエストが memory_limit を超えた場合(またはアロケーションサイズが オーバーフローした場合)、PHP は Fatal error: ... を stderr(Web サーバーのエラーログ)に出力し、プロセスは即座に終了します。 Apache / php-fpm は新しいワーカーを起動します。シャットダウン関数は実行されず、そのリクエスト内のアップロードの一時ファイルは 削除されません — tmpwatch(EL6)と systemd-tmpfiles(EL7)が時間をかけて /tmp からクリーンアップします。
  • セッションアップロード進捗は無効化されます(PHP 5.4。PHP 5.3 にはこの機能はありません)。
  • マルチパートリクエスト: 各パートの Content-Disposition および Content-Type ヘッダーのみが保持され (PHP が使用するのはこれらだけです)、新しい php.ini ディレクティブ max_multipart_body_parts がパート数を 制限します(デフォルトは -1 = max_input_vars + max_file_uploads)。
  • このパッチはエクスポート関数を 1 つ追加し(zend_mm_safe_error_ex)、既存の API や ABI は変更しないため、 ベンダーパッケージ用にビルドされた拡張機能は引き続き動作します。

これは公開された攻撃経路に対する最小限の緩和策であり、PHP 5 の完全なセキュリティアップデートではありません。

検証方法

  • ベンダーのソース RPM からビルドされています(SHA-256 は build/build.sh に固定)。spec の変更は 8 行です (spec/*/php.spec.diff)。

  • PHP テストスイート(make test、RPM ビルド中に実行)を、同じベンダーパッケージを未修正で再ビルドしたものと比較しました。 新たに発生した失敗は想定どおりのものだけです: セッションアップロード進捗のテスト(機能無効化)と tests/lang/bug45392.phpt(公式 7.4 パッチと同様に、 致命的エラーメッセージが空行で始まるようになったため)。

    テスト数失敗: ベンダー失敗: パッチ適用後
    EL7, PHP 5.4.16123731423(アップロード進捗 8 件 + bug45392)
    EL6, PHP 5.3.3112135556(bug45392)

    正確な件数はビルド環境によって多少変動します:GitHub ランナーでは SPL のファイルオーナーテスト 2 件 (DirectoryIterator_getOwner/getGroup_basic)も失敗し、time_sleep_until_basic はタイミングに敏感です。 いずれもパッチで変更されたコードには触れていません。

  • PHP 5.4 パッチは、Amazon Linux 2 の php-5.4.16 向けに同じ修正を独立して移植したものと比較しました: コアの変更は同一です。相違点は docs/ALTERNATIVES.md に記載されています。

  • エクスプロイトコードは作成も使用もしていません。パッチはご自身でアップストリームのコミットと照らし合わせてレビューしてください。

代替案

  • 商用: TuxCare Extended Lifecycle Support は 2026 年 10 月 21 日に EL6 および EL7 向けの修正済みパッケージをリリースしました。
  • その他の無償パッチ: 主にアップストリームの 5.4.45 / 5.3.29 ソース向けのものと、Amazon Linux 向けのものが 1 つあります。

ベンダーの状況、プロジェクトの一覧、比較については docs/ALTERNATIVES.md を参照してください。

自分でビルドする

Docker と、ビルドごとに約 3 GB の空きディスク容量が必要です。

build/build.sh el7      # results in _build/el7/RPMS
build/build.sh el6      # results in _build/el6/RPMS

スクリプトはベンダーのソース RPM をダウンロードし、その SHA-256 を検証したうえで、このリポジトリの spec ファイルとパッチを用いて、固定された Oracle Linux コンテナ内で再ビルドします。

署名鍵

パッケージとリリースタグは次の鍵で署名されています:

pub   rsa4096/80797C97A561BC94 2026-10-22 [SC] [expires: 2029-10-21]
      2757 B60F D23D ED25 021B  BE37 8079 7C97 A561 BC94
uid   Oleksii Molchanov (php2shell-eol-backport signing key) <[email protected]>

鍵はこのリポジトリ(RPM-GPG-KEY-php2shell-eol-backport)と keyserver.ubuntu.com にあります。

リポジトリのレイアウト

patches/el7, patches/el6   the fix, as a patch against the vendor source tree
spec/el7, spec/el6         vendor spec files with the patch added, and their diffs
build/                     reproducible container build
tools/check-patched.sh     check an installed system
docs/ALTERNATIVES.md       vendor status, other projects, comparison
SECURITY.md                how to report a security problem

問題の報告

バグについては issue を作成してください。パッチ自体のセキュリティ問題については、SECURITY.md を参照してください。

クレジットとライセンス

  • 修正は PHP セキュリティチームによるものであり、本プロジェクトはそれを移植したものにすぎません。報告者については GitHub のアドバイザリを参照してください。
  • パッチ: 変更対象のコードと同様に PHP License 3.01(LICENSE.PHP)。ビルドスクリプトとツール: MIT(LICENSE)。Spec ファイルは Red Hat / Fedora のパッケージング(MIT)に由来します。
ツールをダウンロード