Lemur user-update path stores plaintext passwords (CVE-2026-55164)
Lemur manages TLS certificate creation. Prior to 1.9.2, lemur.users.service.update assigned a replacement password directly to users.password, while lemur/users/models.py registered User.hash_password only for the before_insert event. Because no before_update listener ran, administrator-initiated password changes through PUT /api/1/users/ were committed as plaintext. The affected user could no longer authenticate normally because bcrypt verification received an unhashed value. A database, backup, replica, query-log, or administrative read compromise exposed immediately usable credentials without offline cracking. The fix registers hashing for before_update and avoids rehashing values that already have a bcrypt prefix. This issue is fixed in version 1.9.2.
AI Analysis
Technical Summary
In Lemur versions before 1.9.2, the user password update path did not hash replacement passwords because the hashing function was only registered for the before_insert event, not before_update. As a result, when an administrator changed a user's password via the PUT /api/1/users/ endpoint, the new password was stored in plaintext in the database. This plaintext storage means that any compromise of the database, backups, replicas, or query logs could expose immediately usable credentials without requiring offline cracking. The fix in version 1.9.2 registers the password hashing function for the before_update event and ensures passwords with an existing bcrypt prefix are not rehashed.
Potential Impact
The vulnerability leads to plaintext storage of user passwords during administrator-initiated updates, exposing credentials to immediate compromise if the database or related data stores are accessed by unauthorized parties. This undermines user authentication security and could allow attackers to impersonate users without needing to crack hashed passwords.
Mitigation Recommendations
A fix is available in Lemur version 1.9.2 that addresses this issue by properly hashing passwords on update. Users should upgrade to version 1.9.2 or later to remediate this vulnerability. No other mitigation is indicated or required according to the vendor advisory.
Lemur user-update path stores plaintext passwords (CVE-2026-55164)
Description
Lemur manages TLS certificate creation. Prior to 1.9.2, lemur.users.service.update assigned a replacement password directly to users.password, while lemur/users/models.py registered User.hash_password only for the before_insert event. Because no before_update listener ran, administrator-initiated password changes through PUT /api/1/users/ were committed as plaintext. The affected user could no longer authenticate normally because bcrypt verification received an unhashed value. A database, backup, replica, query-log, or administrative read compromise exposed immediately usable credentials without offline cracking. The fix registers hashing for before_update and avoids rehashing values that already have a bcrypt prefix. This issue is fixed in version 1.9.2.
CVSS v3.1
Score 4.9medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In Lemur versions before 1.9.2, the user password update path did not hash replacement passwords because the hashing function was only registered for the before_insert event, not before_update. As a result, when an administrator changed a user's password via the PUT /api/1/users/ endpoint, the new password was stored in plaintext in the database. This plaintext storage means that any compromise of the database, backups, replicas, or query logs could expose immediately usable credentials without requiring offline cracking. The fix in version 1.9.2 registers the password hashing function for the before_update event and ensures passwords with an existing bcrypt prefix are not rehashed.
Potential Impact
The vulnerability leads to plaintext storage of user passwords during administrator-initiated updates, exposing credentials to immediate compromise if the database or related data stores are accessed by unauthorized parties. This undermines user authentication security and could allow attackers to impersonate users without needing to crack hashed passwords.
Mitigation Recommendations
A fix is available in Lemur version 1.9.2 that addresses this issue by properly hashing passwords on update. Users should upgrade to version 1.9.2 or later to remediate this vulnerability. No other mitigation is indicated or required according to the vendor advisory.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-q437-g7fv-2jvv
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-55164"]
- Ecosystems
- ["PyPI"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 3.1
Threat ID: 6a3ef7e527e9c79719032b46
Added to database: 06/26/2026, 22:06:29 UTC
Last enriched: 08/19/2026, 11:15:17 UTC
Last updated: 09/13/2026, 10:01:31 UTC
Views: 120
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.