apache / apache/cloudstack

[Hardening] F-04: Insecure Default 2FA Provider Configuration (Opt-In Instead of Opt-Out).

オープン
#13,336 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
hardening
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
32

説明

### The required feature described as a wish

Image

**Description:** A Static PIN is no more secure than a password. Arguably, it is not even a second factor at all, but merely a second step in the authentication process (more on this in the following findings). There may be cases where TOTP is not a viable option, and a Static PIN serves as an alternative. However, Static PIN should not be offered out-of-the-box or listed as an option, as users will naturally follow the path of least resistance toward the weaker method.

**Affected Components:** Management UI

**Impact:** The Static PIN makes the second factor as static and reusable as the password, defeating the purpose of 2FA. An attacker who obtains the PIN once retains persistent access. Replay attacks will succeed indefinitely, and the PIN is vulnerable to the same attacks as a password.

**Steps to Reproduce:**
- Log in to the CloudStack Management UI as a Root Admin.
- Navigate to Configuration > Global Settings.
- Search for `user.2fa.default.provider`, `user.2fa.providers.order`, and `user.2fa.providers.exclude`.
- Observe that Static PIN is not excluded and may be presented as a selectable option.

**Recommended Remediation:** Adopt a secure-by-default, opt-out model: set `user.2fa.default.provider` to TOTP, set `user.2fa.providers.order` to TOTP only by default, and add the Static PIN provider to `user.2fa.providers.exclude` unless explicitly re-enabled by an administrator.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Management UI の Configuration > Global Settings のフローから開始し、user.2fa.default.provider、user.2fa.providers.order、user.2fa.providers.exclude がどのように定義され、表示されるかを追跡します。TOTP がデフォルトで、デフォルトで順序付けられる唯一のプロバイダーであり、管理者が明示的に再有効化しない限り Static PIN が除外されていれば完了です。UI で 3 つの設定を確認してください。

索引モデルが issue の本文から書いたものです。

評価

領域
authentication, security
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。