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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-2005_lab — 自己完結型のDockerラボ。CVE-2026-2005(PostgreSQLのpgcrypto拡張機能におけるヒープバッファオーバーフロー)の悪用を練習するためのもので、権限昇格とコンテナ内コード実行を可能にします。 | Kitploit
ツール/GitHubGitHub/stvm8/cve-2026-2005_lab
脆弱性分析エクスプロイトCTF学習と教育データベースセキュリティバイナリエクスプロイトラボと実践
GitHubstvm8/cve-2026-2005_lab

CVE-2026-2005_lab

自己完結型のDockerラボ。CVE-2026-2005(PostgreSQLのpgcrypto拡張機能におけるヒープバッファオーバーフロー)の悪用を練習するためのもので、権限昇格とコンテナ内コード実行を可能にします。

リポジトリを見る
3ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-2005 — PostgreSQL pgcrypto ヒープオーバーフローラボ

CVE-2026-2005(PostgreSQLのpgcrypto拡張機能におけるヒープバッファオーバーフロー)の悪用を練習するための自己完結型Dockerラボです。スーパーユーザー権限なしでリモートコード実行を可能にします。

影響を受けるバージョン: PostgreSQL ≤ 17.7 / 16.11 / 15.15 / 14.20 / 18.1
修正バージョン: 18.2, 17.8, 16.12, 15.16, 14.21(2026-02-12リリース)


セットアップ

要件: Docker、Docker Compose

root@kitploit:~
git clone <this-repo>
cd CVE-2026-2005
docker compose up -d

PostgreSQLは127.0.0.1:5433で待ち受けます。


開始地点

アプリケーションの設定ファイルからデータベースの認証情報を入手済みです:

パラメータ値
ホスト127.0.0.1
ポート5433
データベースtargetdb
ユーザー名pentester
パスワードpentester123

接続してアクセスを確認します:

root@kitploit:~
psql -h 127.0.0.1 -p 5433 -U pentester -d targetdb

このアカウントはpublicスキーマに対するCREATE権限を持っています。スーパーユーザーではありません。


目標

両方のフラグを取得してラボを完了させてください。

フラグ1 — データベース権限昇格

root@kitploit:~
SELECT * FROM flag_db;
-- DBセッション内でスーパーユーザーに昇格した後にのみ読み取り可能

フラグ2 — コンテナ内コード実行

root@kitploit:~
/var/lib/postgresql/flag.txt
-- コンテナ内でpostgres OSユーザーとしてコマンドを実行した後にのみ読み取り可能

スコープに関する注記: COPY TO PROGRAMはDockerコンテナ内で実行され、ホスト上では実行されません。 実際の環境における主な影響は、データベース全体の読み取りアクセス(全テーブル、全データベース)です。 Dockerホストへの到達には、別のコンテナエスケープ技術が必要です。


脆弱性の背景

この欠陥はpgcrypto/pgp-pubenc.c内のpgp_parse_pubenc_sesskey()にあります。

公開鍵暗号化セッションキーパケットを復号する際、この関数は攻撃者が制御するRSA/ElGamalペイロードからセッションキーの長さをmsglen - 3として導出し、境界チェックなしで固定32バイトのバッファ(PGP_MAX_KEY)にコピーします。攻撃者はバッファ境界を超えて数百バイトを書き込むことができます。

エクスプロイトは3つの段階で進行します:

  1. 情報漏洩 — オーバーフローにより隣接するヒープメタデータが露出し、PIEベースとヒープアドレスが漏洩します
  2. 任意書き込み — dst構造体を破壊して.data内のCurrentUserIdを10(BOOTSTRAP_SUPERUSERID)で上書きします
  3. コンテナ内RCE — スーパーユーザー権限により、COPY (SELECT '') TO PROGRAM '<cmd>'がコンテナ内でpostgresユーザーとしてOSコマンドを実行します。Dockerを使用しない実際のデプロイでは、これはデータベースホスト上でのOSレベルのアクセスを意味します。

ASLRレイアウトは同じpostmasterプロセスへのすべての接続で同一であるため、ある接続で漏洩したアドレスは次の接続でも有効です。


参考資料

  • NVD: CVE-2026-2005
  • 技術解説: https://www.zeroday.cloud/blog/postgres-xint
  • PostgreSQL pgcryptoソース: pgcrypto/pgp-pubenc.c
  • シンボル解決: objdump -t $(which postgres) | grep CurrentUserId

後片付け

root@kitploit:~
docker compose down -v

法的免責事項

このラボは、許可されたセキュリティ研究および教育のみを目的としています。所有しているシステム、または明示的なテスト許可を得たシステムでのみ実行してください。

ツールをダウンロード