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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-14669 — CVE-2026-14669 の概念実証エクスプロイト。PostgreSQL の to_char() タイムゾーン省略形におけるヒープバッファオーバーフローであり、情報漏えいと ROP チェーンを通じて RCE を可能にします。Docker ラボと自動化された PoC が含まれます。 | Kitploit
ツール/GitHubGitHub/hackspeak/cve-2026-14669
脆弱性分析エクスプロイトペネトレーションテストペイロード開発データベースセキュリティバイナリエクスプロイトラボと実践
GitHubhackspeak/cve-2026-14669

CVE-2026-14669

CVE-2026-14669 の概念実証エクスプロイト。PostgreSQL の to_char() タイムゾーン省略形におけるヒープバッファオーバーフローであり、情報漏えいと ROP チェーンを通じて RCE を可能にします。Docker ラボと自動化された PoC が含まれます。

リポジトリを見る
31422日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-14669 - PostgreSQL to_char() タイムゾーン略称ヒープバッファオーバーフロー

PostgreSQL の to_char() 関数は、タイムゾーン書式を処理する際にヒープバッファオーバーフロー脆弱性が存在します。攻撃者は非常に長い POSIX タイムゾーン略称を設定することで、25 バイトの固定バッファへの領域外書き込みを引き起こし、情報漏洩と ROP チェーンを組み合わせてリモートコード実行を実現できます。

脆弱性情報

  • CVE 番号: CVE-2026-14669
  • CVSS スコア: 8.8 (高)
  • 脆弱性タイプ: ヒープバッファオーバーフロー → リモートコード実行
  • 影響を受けるコンポーネント: PostgreSQL to_char(timestamptz) 関数
  • 発見チーム: V12 Security

影響を受けるバージョン

PostgreSQL シリーズ影響範囲
18.x18.0 – 18.5
17.x17.0 – 17.10
16.x16.0 – 16.14
15.x15.0 – 15.18
14.x14.0 – 14.23

修正バージョン

  • PostgreSQL 18.6+
  • PostgreSQL 17.11+
  • PostgreSQL 16.15+
  • PostgreSQL 15.19+
  • PostgreSQL 14.24+

脆弱性の原理

formatting.c 内の DCH_TZ / DCH_tz 処理パスは、タイムゾーン略称を 25 バイトの固定スタックバッファに格納しますが、入力長のチェックは一切行われません。タイムゾーン略称が 24 バイトを超えると、strcpy() がヒープメモリに対して領域外書き込みを行います。

トリガーパス:

root@kitploit:~
SET TIME ZONE '<超长缩写>+00';
SELECT to_char(now()::timestamptz, 'TZ');
  ↓
DCH_to_char() → DCH_from_char_action()
  ↓
strcpy(buf, tmtcTzn(...))  ← 堆溢出

悪用条件

  • 有効なデータベース認証資格情報(最低権限の USAGE レベル)
  • TCP で到達可能なデータベースポート
  • SQL 文を実行可能であること

完全なエクスプロイトチェーン

V12 Security の PoC は次の 3 つのステージで構成されています:

ステージ 1:情報漏洩

ヒープオーバーフローで隣接するヒープオブジェクトを破壊し、PIE ベースアドレスとヒープポインタを漏洩させて ASLR をバイパスします。

ステージ 2:ROP チェーン構築

ラージオブジェクトまたは bytea フィールドを利用して、ヒープ上に ROP ガジェットチェーンを配置します。

ステージ 3:制御フローハイジャック

2 回目のオーバーフローでヒープ上の関数ポインタを上書きし、ROP チェーンにジャンプして任意のコマンドを実行します(postgres ユーザー権限で)。

PoC ファイル

  • poc.py - 完全なエクスプロイトスクリプト(210 行、PostgreSQL 19beta1 向け)
  • requirements.txt - Python 依存関係(psycopg、pwntools)
  • docker-compose.yml - 脆弱性テスト環境

使用方法

1. テスト環境の起動

root@kitploit:~
docker-compose up -d

コンテナの起動が完了するまで待ちます(ヘルスチェックに合格):

root@kitploit:~
docker logs pg-tzlab

2. 依存関係のインストール

root@kitploit:~
pip install -r requirements.txt

3. PoC の実行

root@kitploit:~
python3 poc.py

デフォルトでは 127.0.0.1:55432 に接続し、ユーザー名は postgres、パスワードは postgres です。

エクスプロイトが成功すると、コンテナログにコマンド実行の出力が表示されます:

root@kitploit:~
docker logs pg-tzlab | grep PWNED

4. カスタム設定

poc.py 内の定数を編集します:

  • HOST, PORT - 対象アドレス
  • DEFAULT_COMMAND - 実行するコマンド

⚠️ 重要:この PoC は特定ビルドのオフセットアドレスをハードコードしています(postgres:19beta1 Docker イメージ sha256:a6bdd01...)。他のバージョンではガジェットの再配置が必要です。

緩和策

  1. ただちに修正バージョンへアップグレード(最も効果的)
  2. ネットワーク分離:データベースポートを信頼できるホストにのみ開放する
  3. アカウント最小化:不要なアカウントを整理し、強力なパスワードを強制する
  4. 監視・アラート:長すぎる SET TIME ZONE 文(50 文字超)を監視する

免責事項

⚠️ 本 PoC はセキュリティ研究、脆弱性検証、防御的テストのみを目的としています。

  • 破棄可能なテスト環境(Docker ラボ)で実行してください
  • 未承認または本番環境では使用しないでください
  • 使用すると、対象サーバーのプロセスクラッシュや制御フローハイジャックが発生する可能性があります

本 PoC を使用する場合、現地の法令と対象システムの認可範囲を遵守することに同意したものとみなされます。

参考リンク

  • PostgreSQL 公式セキュリティ勧告
  • PostgreSQL リリース告知
  • アップストリーム修正コミット
  • V12 Security 技術分析
  • オリジナルの PoC リポジトリ

原作者

  • オリジナル PoC: V12 Security チーム
  • 元リポジトリ: https://github.com/v12-security/pocs
  • ライセンス: アップストリームリポジトリには LICENSE ファイルがないため、本リポジトリは MIT License を採用しています。
  • 本リポジトリ: ミラー配布版であり、原作者のクレジットを保持しています。
ツールをダウンロード