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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-8794 — PaperCut NG における認証タイミングサイドチャネルを介したユーザー名列挙 | Kitploit
ツール/GitHubGitHub/h4zaz/cve-2026-8794
偵察脆弱性分析ウェブアプリケーション悪用情報収集ウェブセキュリティペネトレーションテスト認証
GitHubh4zaz/cve-2026-8794

CVE-2026-8794

PaperCut NG における認証タイミングサイドチャネルを介したユーザー名列挙

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-8794 — PaperCut NG における認証タイミングサイドチャネルを介したユーザー名列挙

フィールド詳細
CVE IDCVE-2026-8794
製品PaperCut NG
影響を受けるバージョン25.0.11 (ビルド 75758) 以前
CWECWE-208 — 観察可能なタイミング不一致
CVSS スコア3.7 (低) — 単独の場合。CVE-2026-8793 と連鎖すると深刻度が上昇
研究者Vivien LEBAS (@Hazaz)
報告日2026年5月
ステータス修正済み — PaperCut NG 26.0.3

概要

PaperCut NG の認証エンドポイントでは、既存アカウントと存在しないアカウントに対するログイン試行の間に、測定可能なタイミング差が生じます。この差異は、一致するアカウントが見つかった場合にのみ bcrypt パスワードハッシュ化が実行されることに起因しており、認証されていない攻撃者が HTTP 応答時間を測定することで、特定のユーザー名がシステムに存在するかどうかを確実に判定できるようになります。

CVE-2026-8793 (ブルートフォース保護の欠如) と組み合わせると、この脆弱性により、完全な認証情報侵害の攻撃チェーンが可能になります。まず有効なユーザー名を列挙し、その後、ロックアウトのリスクなしに無制限の標的型パスワード推測を実行します。


技術的詳細

根本原因

このタイミング差は、古典的な実装パターンに起因します。アプリケーションは、送信されたユーザー名に一致するアカウントがデータベースで見つかった場合にのみ bcrypt 比較を呼び出します。存在しないアカウントの場合、認証ルーチンは bcrypt が呼び出される前に早期終了し、その結果、測定可能なほど短い応答時間になります。

root@kitploit:~
Valid username:   DB lookup (found) → bcrypt comparison → failure response  ~2.1s avg
Invalid username: DB lookup (not found) → immediate failure response         ~0.2s avg

このパターンは広く文書化されています (CWE-208 を参照)。標準的な対策は、アカウントが存在しない場合でもダミーの bcrypt 比較を実行し、両方のコードパスで応答時間を均等化することです。

測定方法

制御された条件下で、PaperCut NG のログインエンドポイントに対して認証試行を行いました:

  • 環境: 分離されたラボ環境、Windows Server 2022、ローカルネットワーク (サブミリ秒のベースレイテンシ)
  • サンプルサイズ: 条件ごとに 15 回の試行 (有効なユーザー名 / 無効なユーザー名)
  • ツール: curl と --write-out "%{time_total}" を使用。すべてのケースで意図的に誤ったパスワードを使用

結果

2 つの分布は完全に重複しないため、中程度のネットワークジッターがあっても列挙は確実に行えます。

概念実証

root@kitploit:~
# Measure response time for an existing account (wrong password)
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=admin&inputPassword=wrongpassword"
# Output: ~2.1s

# Measure response time for a non-existent account
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=zz_doesnotexist_zz&inputPassword=wrongpassword"
# Output: ~0.2s

約0.5秒を大幅に上回る応答時間は、有効なユーザー名であることを確実に示します。簡単なスクリプトで、一般的な企業の命名パターン (firstname.lastname、flastname など) のワードリストに対する列挙を自動化できます。


CVE-2026-8793 との攻撃チェーン

この発見は、2 段階攻撃の最初のステップとして使用された場合に最も大きな影響を及ぼします:

  1. ステップ 1 (CVE-2026-8794、本発見) — 認証応答のタイミングを測定して、有効な PaperCut NG アカウント名のリストを作成します。企業環境では、公開情報 (LinkedIn、会社の Web サイト、メールのフッター) から取得した firstname.lastname の組み合わせの短いワードリストで十分なことがよくあります。

  2. ステップ 2 (CVE-2026-8793) — 確認された有効なアカウントに対して無制限のパスワード試行を送信します。レート制限やロックアウトがないため、クレデンシャルスタッフィングやパスワードスプレー攻撃を完全にオンラインでフルスピードで実行できます。


影響

TCP/9191 へのネットワークアクセスを持つ認証されていない攻撃者は、以下を行うことができます:

  • 任意のユーザー名が PaperCut NG に登録されているかどうかを確実に判定する
  • アラートやロックアウトを発生させずに有効なユーザー名リストを作成する
  • このリストを CVE-2026-8793 による完全な認証情報侵害への最初のステップとして使用する

一般的な企業展開では、PaperCut のユーザー名は Active Directory アカウントと一致します。したがって、確認された有効な PaperCut ユーザー名は、確認された有効なドメインアカウント名でもあり、PaperCut 自体を超えて偵察価値が増幅されます。


対策

管理者向け (暫定緩和策):

  • TCP/9191 へのネットワークアクセスを信頼できる管理ホストのみに制限する
  • PaperCut NG の前面に、ログインエンドポイントにレート制限を強制するリバースプロキシまたは WAF を導入する
  • 可能な場合は、推測が困難で標準的でないユーザー名形式を使用する

ベンダー向け:

送信されたユーザー名がいずれのアカウントとも一致しない場合は、アカウントが存在するかどうかに関係なく応答時間が均等化されるよう、定数時間のダミー bcrypt 比較を実行します:

root@kitploit:~
# Pseudocode — constant-time authentication pattern
user = db.find_user(username)
if user:
    valid = bcrypt.verify(password, user.password_hash)
else:
    bcrypt.verify(password, DUMMY_HASH)  # always run, result discarded
    valid = False

これは、認証フローにおける CWE-208 を緩和するための確立されたパターンです。


タイムライン

日付イベント
2026年5月9日PaperCut セキュリティチームに初回レポートを提出
2026年5月10日受領確認を受領
2026年5月PaperCut (CNA) により CVE-2026-8794 が採番

参照

  • cve.org の CVE-2026-8794
  • CVE-2026-8793 — 連鎖する脆弱性
  • CWE-208: 観察可能なタイミング不一致
  • パスワードに対するタイミング攻撃 — OWASP
  • PaperCut NG 製品ページ

責任ある開示の原則に従って開示されました。完全な技術的詳細は公開前に PaperCut セキュリティチームと共有されました。

研究者: Vivien LEBAS — @Hazaz

ツールをダウンロード
条件最小 (秒)最大 (秒)平均 (秒)標準偏差
既存アカウント (admin)2.082.192.130.031
存在しないアカウント (zz_doesnotexist_zz)0.180.240.210.018
差約1.92秒
2026年8月パッチリリース — PaperCut NG 26.0.3
2026年8月ベンダーと調整の上、公開開示