Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/sepkascurty-cpu/php-exploit_cve-2022-31630
脆弱性分析エクスプロイト学習と教育バイナリエクスプロイトラボと実践
GitHubsepkascurty-cpu/php-exploit_cve-2022-31630

php-exploit_cve-2022-31630

CVE-2022-31630 の概念実証エクスプロイト。PHP の GD 拡張機能における out-of-bounds read 脆弱性。影響を受ける PHP バージョンでのクラッシュとメモリ開示を示します。安全なテストのための Docker ベースのラボを含みます。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
15ヶ月前未レビュー

#CVE-2022-31630 – 概念実証エクスプロイト

警告: このコードは教育目的および隔離されたラボ環境でのテストのみを目的として作成されています。許可なく他のシステムで使用することは違法であり無責任です。


📌 説明

CVE-2022-31630 は、PHP の GD 拡張、具体的には imageloadfont() 関数における Out-of-Bounds (OOB) 読み取りの脆弱性です。この脆弱性により、PHP アプリケーションによってロードされるフォントファイルを制御できる攻撃者が、割り当てられたバッファの境界を超えてデータを読み取ることができます。考えられる影響は以下のとおりです。

· サービス拒否 (クラッシュ) – アプリケーションが応答を停止します。 · 情報漏洩 – メモリ内の機密データ (キー、トークン、その他のデータ断片など) が読み取られる可能性があります。

影響を受ける PHP バージョン

· PHP 7.4.x で 7.4.33 より前 · PHP 8.0.x で 8.0.25 より前 · PHP 8.1.x で 8.1.12 より前

PHP 7.4.33 は、この CVE のパッチが最初に適用されたバージョンです。このリポジトリは、脆弱なバージョン (≤ 7.4.32) とパッチ適用済みバージョン (≥ 7.4.33) の動作の違いを示す概念実証 (PoC) を提供します。


🔍 技術詳細

この脆弱性は、GD フォントファイル (.gdf 形式) の読み取り時に入力検証が不十分なことに起因します。フォントファイルのヘッダ構造は次のとおりです。

バイトオフセット サイズ (バイト) 説明 0 2 Magic number (0x01BE) 2 2 文字数 (nchars) 4 2 文字幅 (width) (ピクセル) 6 2 文字高さ (height) 8 2 1文字あたりのバイト数 (char_offset)

width の値が非常に大きく (例: 65535) 設定されると、文字ビットマップを格納するバッファサイズの計算が誤ったものになります。その結果、割り当てられるバッファが小さすぎます。その後、imagechar() 関数がそのフォントから文字を読み取ると、バッファの境界外のメモリにアクセスします – これが Out-of-Bounds 読み取りです。


🧪 テスト要件

· Docker (隔離環境を実行するため) · PHP 7.4.32 または 7.4.33 (Docker イメージ php:7.4.32-cli / php:7.4.33-cli を使用可能) · GD 拡張 (コンテナ内でインストールされます)


🚀 PoC の使用方法

  1. このリポジトリをクローンします
root@kitploit:~
git clone https://github.com/sepkascurty-cpu/php-exploit_cve-2022-31630.git
cd exploit_cve-2022-31630
  1. 目的の PHP バージョンでコンテナを実行します

脆弱なバージョン (7.4.32) をテストする場合:

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.32-cli bash

パッチ適用済みバージョン (7.4.33) をテストする場合:

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.33-cli bash
  1. コンテナ内で GD 拡張をインストールします
root@kitploit:~
cd /app
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install gd
  1. エクスプロイトを実行します
root@kitploit:~
php exploit_cve-2022-31630.php

📊 出力例

PHPバージョン期待される結果
7.4.32 (脆弱)プログラムがセグメンテーションフォルトでクラッシュするか、メモリリークが発生する(メモリ内のダミーデータが見える)。
7.4.33 (修正済み)実行は正常に完了し、output.png画像ファイルが保存され、クラッシュは発生しない。

🛡️ 緩和策

· PHP をパッチを含む最新バージョンに更新してください: · PHP 7.4.33 以降 · PHP 8.0.25 以降 · PHP 8.1.12 以降 · すぐに更新できない場合は、GD 拡張または imageloadfont() 関数を本当に必要でない限り無効にしてください。 · アプリケーションに最小権限の原則を適用し、メモリリークが発生した場合の影響を最小限に抑えてください。


📚 参考文献

· NVD の CVE-2022-31630 · php-src のパッチコミット · PHP リリースアナウンス


⚠️ 免責事項

このリポジトリは教育およびセキュリティ研究を目的として提供されています。作者はこのコードの悪用について一切責任を負いません。自身が所有する環境、または書面による許可を得た環境でのみテストしてください。


インドネシアのサイバーセキュリティコミュニティのために作成されました。

ツールをダウンロード