
IBERMATICA RPS の暗号問題の脆弱性に対するエクスプロイト [CVE-2023-3350]
IBERMATICA RPS 2019 における、認証を必要としない情報漏えいと暗号設計上の欠陥を文書化したセキュリティ研究です。
これらの脆弱性を連鎖させることで、認証に関連する SQL クエリを含むアプリケーションログを露出させ、可逆的な AES-CBC 暗号文からユーザーパスワードを復元できます。
[免責事項] このリポジトリは、セキュリティ研究、防御的検証、および教育目的のみで提供されます。テストは、自分が所有するシステム、または明示的に評価を許可されたシステムに対してのみ実施してください。
認証されていないユーザーは、以下の RPS サービスステータスページにアクセスできます:
/RPS2019Service/status.html
このページは運用ログの制御機能を公開しており、生成されたログのダウンロードを許可します。これらのログには、ユーザー名、IP アドレス、SQL クエリ、パスワード関連の値など、機密性の高いアプリケーションデータが含まれる可能性があります。
パスワードは一方向パスワードハッシュ関数では保護されていません。代わりに、RPS 2019 はユーザー名から予測可能な方法で導出された鍵材料を使用する AES-128-CBC を採用しています。ログからユーザー名と暗号化されたパスワード値を取得できれば、パスワードを平文で復元できます。
| CVE | 説明 | CWE | CVSS 3.1 (CNA) |
|---|
| CVE-2023-3349 | ダウンロード可能なアプリケーションログを介した、認証を必要としない機密情報の漏えい | CWE-200 | 8.2 High |
| CVE-2023-3350 | AES-128-CBC と予測可能なユーザー名由来の鍵材料に基づく可逆的なパスワード保護 | CWE-327 | 8.2 High |
この攻撃チェーンには、SQL インジェクション、パスワードのブルートフォース、または事前のアプリケーションアカウントは一切必要ありません。
調査により、以下の状態が確認されました:
AES 自体が根本的な問題ではありません。この脆弱性は、パスワードに可逆的な暗号化を使用していること、予測可能な鍵材料、そしてランダムでも独立でもない IV を使用していることに起因します。
悪用に成功すると、リモートの認証されていない攻撃者が以下を行える可能性があります:
/RPS2019Service/status.html へのパブリックアクセスを削除する。防御側は以下を調査する必要があります:
/RPS2019Service/status.html への予期しないリクエスト。これらの問題は、許可を得た攻撃的セキュリティエンゲージメント中に LABS @ ITRES によって発見され、INCIBE-CERT を通じて CVE 識別子が割り当てられました。
詳細な技術解説は、Old Dives シリーズの最初の記事で公開されています:
このリポジトリの情報は、組織が文書化された脆弱性を特定、検証、および修復することを支援することを目的としています。著者および貢献者は、この資料の使用に起因する誤用または損害について責任を負いません。