Apache Superset Security Flaw: Weak MD5 Password Hashing Exposed in Codebase
A high-severity security vulnerability has been flagged within the Apache Superset codebase, exposing a critical weakness in its authentication system. The automated scanner 'bandit' identified the use of the cryptographically broken MD5 hash function for password hashing in the file `weak_crypto.py`. This practice, classified under CWE-327, directly undermines the security of user credentials, as MD5 is considered obsolete and vulnerable to collision attacks, making stored passwords susceptible to rapid cracking.
The specific flaw is isolated to line 16 of the `weak_crypto.py` file, where the function `hashlib.md5(password.encode()).hexdigest()` is implemented. The scanner's documentation explicitly warns that using MD5, SHA1, or other weak algorithms for security purposes without the `usedforsecurity=False` flag is a severe risk. This finding indicates a potential lapse in secure coding standards for a core component handling sensitive authentication data in a widely-used business intelligence tool.
The presence of this vulnerability places all deployments of the affected Superset version at heightened risk. It prompts immediate scrutiny for developers and security teams relying on this code, as failing to remediate it could lead to credential compromise. The recommended fix involves a code review and implementation of the Bandit B324 guideline, potentially requiring a shift to a robust, modern hashing algorithm like Argon2 or bcrypt to properly safeguard user passwords.