
CVE ID: CVE-2025-65900
製品: DifuseHQ Kalmia CMS
影響を受けるバージョン: 0.2.0
脆弱性の種類: 不適切なアクセス制御 (Incorrect Access Control)
必要な権限: 低 (読み取り専用ユーザーアカウント)
この脆弱性により、低権限ユーザーが Blowfish パスワードハッシュを含むすべてのプラットフォームアカウントの機密情報を取得できます。攻撃者はオフラインでのクラッキングを実行し、権限を昇格させ、管理アカウントを侵害してシステム全体を乗っ取る可能性があります。
メンテナーによる承認待ち - https://github.com/DifuseHQ/Kalmia/pull/34
DifuseHQ Kalmia CMS バージョン 0.2.0 には、/kal-api/auth/users API エンドポイントに不適切なアクセス制御 (Incorrect Access Control) の脆弱性が存在します。バックエンドにおける権限検証の不備と過剰なデータ露出により、基本読み取り権限を持つ認証済みユーザーが、Blowfish パスワードハッシュを含むすべてのプラットフォームユーザーの機密情報を取得できます。この欠陥により、認証情報の不正な開示が可能になり、オフラインでのブルートフォース攻撃が可能になるため、アカウント全体の侵害につながる可能性があります。この問題は、middleware/auth.go における不適切な認可チェックと、web/src/api/Requests.ts によって返されるフィルタリングされていないユーザーデータに起因します。
/kal-api/auth/jwt/create/kal-api/auth/usersアプリケーションは、機密情報の適切なサニタイズと機密エンドポイントへのアクセスブロックに失敗しています。最小限の読み取り専用ユーザーでも以下が可能です:
攻撃者は、Kalmia CMS システム上で正規の読み取り専用ユーザーアカウントを保有している状態から開始します。
攻撃者は、標準の認証メカニズムを通じて読み取り専用の認証情報を使用してシステムにログインします。
攻撃者は Burp Suite などのツールを使用して、/kal-api/auth/users API ルートにアクセスし、すべてのユーザーのアクセス情報を表示します。
抽出されたパスワードハッシュは、hashcat などのパスワードクラッキングツールを使用して処理され、平文パスワードが復元されます。
クラッキングに成功したパスワードにより、ユーザーアカウントへの完全なアクセスが可能になり、管理アカウントも含まれる可能性があります。
cve-2025-65900.py スクリプトは悪用プロセスを自動化します:
python cve-2025-65900.py <TARGET_URL> -u <READ_ONLY_USERNAME> -p <READ_ONLY_PASSWORD>
url: 対象の Kalmia CMS ベース URL (必須)-u, --user: 読み取り専用ユーザー名 (必須)-p, --password: 読み取り専用パスワード (必須)-t, --token-endpoint: JWT トークンエンドポイント (デフォルト: /kal-api/auth/jwt/create)-d, --dump: ユーザーダンプエンドポイント (デフォルト: /kal-api/auth/users)-a, --auth: トークン生成をスキップし、指定された JWT トークンを使用-o, --output: 抽出したハッシュをファイルに保存# Basic exploitation
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass
# Save hashes to file
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -o hashes.txt
# Use existing JWT token
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -a "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
免責事項: この情報は教育および防御目的でのみ提供されています。ユーザーは、いかなるシステムをテストする前に適切な許可を得ていることを確認する責任を負います。