apache / apache/cloudstack

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

未关闭
#13,337 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
component:UI hardening
主要语言
Java
星标
3.1k
派生
1.4k
平均合并
6 天 19 小时
30 天内合并 PR
32

描述

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

贡献指南

打开贡献指南

调研方向

从 issue #13337 中描述的 CloudStack Management UI 2FA 登录表单开始,并查看已合并的 pull request #13723,以了解已经完成的工作。当密码管理器将 2FA 字段识别为一次性代码而不是普通密码时,即表示完成;而单独的表单组合建议仍属于更广泛的考虑事项。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
authentication, frontend
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
描述清楚
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。