apache / apache/cloudstack

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

Ouverte
#13,336 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
hardening
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

### 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans le flux de la Management UI pour Configuration > Global Settings et suivez la manière dont user.2fa.default.provider, user.2fa.providers.order et user.2fa.providers.exclude sont définis et présentés. La tâche est terminée lorsque TOTP est le fournisseur par défaut et le seul fournisseur ordonné par défaut, tandis que Static PIN est exclu, sauf si un administrateur le réactive explicitement ; vérifiez les trois paramètres dans l’UI.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
authentication, security
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.