apache / apache/cloudstack

[Hardening] F-06: 2FA Field Set as Password Causes Password Manager Issues.

Ouverte
#13,337 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
component:UI 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:** The 2FA input is defined as type="password". Password managers treat it like a regular password field, so they may save or autofill the 2FA code. This can overwrite the stored password and lock the user out of their account. The field was likely set this way to hide the Static PIN from bystanders or during screen sharing.

**Affected Components:** Management UI

**Impact:** Password managers may replace saved passwords with 2FA codes. This can lock users out and lead them to choose weaker passwords or store them insecurely.

**Steps to Reproduce:**
- Log in to the CloudStack Management UI with a user that has 2FA enabled.
- Enter valid credentials and continue to the 2FA screen.
- Inspect the 2FA input field in the browser’s developer tools.
- Confirm it is set to type="password".

**Recommended Remediation:** Change the 2FA input field to type="number" and add autocomplete="one-time-code". This informs password managers of the field's actual meaning.

Also, consider combining the password and 2FA into a single form. This way, attackers can’t tell which part failed, making password attacks harder.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le formulaire de connexion 2FA de la CloudStack Management UI décrit dans l’issue #13337 et examinez la pull request fusionnée #13723 pour voir le travail déjà effectué. C’est terminé lorsque le champ 2FA est identifié par les gestionnaires de mots de passe comme un code à usage unique plutôt que comme un mot de passe normal, tandis que la proposition distincte de combiner les formulaires reste une considération plus générale.

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

Évaluation

Stack technique
java
Domaine
authentication, frontend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

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