Rucio WebUI has Username Enumeration via Login Error Message
Summary
The WebUI login endpoint returns distinct error messages depending on whether a supplied username exists, allowing unauthenticated attackers to enumerate valid usernames.
Details
When submitting invalid credentials to /ui/login, the WebUI responds with different error messages based on the existence of the provided username (identity). A non-existent username results in an error indicating that no account is associated with the identity, while an existing username with an incorrect password produces a different authentication-related error.
This behavioral difference allows an attacker to distinguish valid usernames from invalid ones by observing the response content.
Proof of Concept
Bogus Login (Non-existent Username "15251087")
Response contains:
Cannot get find any account associated with 15251087 identity.
Bogus Login (Existing Username "root", Wrong Password)
Response contains:
Cannot get auth token. It is possible that the presented identity root is not mapped to any Rucio account root.
The difference in error messages confirms whether a username exists.
Impact
An unauthenticated attacker can enumerate valid usernames, which may be leveraged for targeted password guessing, credential stuffing, or social engineering attacks.
Remediation / Mitigation
Return a generic authentication failure message for all login errors, regardless of whether the username exists. Avoid disclosing account or identity existence through error responses. Consider implementing rate limiting or additional login throttling to further reduce abuse.
Reources:
- OWASP Authentication Cheat Sheet - Authentication and Error Messages: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#authentication-and-error-messages
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | rucio-webui | < 35.8.3, >= 36.0.0rc1, < 38.5.4, >= 39.0.0rc1, < 39.3.1 | 35.8.3, 38.5.4, 39.3.1 |
References
- https://github.com/rucio/rucio/security/advisories/GHSA-38wq-6q2w-hcf9
- https://nvd.nist.gov/vuln/detail/CVE-2026-25138
- https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#authentication-and-error-messages
- https://github.com/rucio/rucio
- https://github.com/rucio/rucio/releases/tag/35.8.3
- https://github.com/rucio/rucio/releases/tag/38.5.4
- https://github.com/rucio/rucio/releases/tag/39.3.1
- https://pypi.org/project/rucio-webui
- https://github.com/advisories/GHSA-38wq-6q2w-hcf9
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N- Weakness (CWE)
CWE-204- Platform
- Python (PyPI)
- Package
rucio-webui- Disclosed
- 25.02.2026
- Updated
- 11.10.2026 14:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-3053 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-38wq-6q2w-hcf9 - CC BY 4.0
Vulnerability history: rucio-webui
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 7
- First → latest
- 10.2021 02.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 3
- Medium 4
Disclosures per year
- 2021: 1
- 2022: 0
- 2023: 0
- 2024: 0
- 2025: 0
- 2026: 6
-
Rucio WebUI has Username Enumeration via Login Error Message this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.