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.
Published: 2026-08-18
Score: 4.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A vulnerability in the user‑update API of Netflix Lemur causes password values to be saved in plaintext when administrators modify or set passwords. Because the hashing function is only applied on inserts and not on updates, the database retains cleartext passwords, which defeats bcrypt authentication and exposes the credentials immediately. The plaintext passwords can be read from any database backup, replica, query log, or administrative interface. Any Lemur release older than version 1.9.2 is susceptible. The fix in 1.9.2 adds a before_update listener that hashes new passwords and skips values already prefixed with a bcrypt marker, restoring proper credential protection.

Affected Systems

All Netflix Lemur deployments running a version before 1.9.2 are affected. The vulnerability resides in the lemur.users.service.update functionality and applies to any user record updated via the PUT /​api/1/users/ endpoint. Administrators should verify their current Lemur version and plan an upgrade if they remain behind. The vulnerability is specific to the Lemur TLS certificate management service and does not affect other Netflix products. No other external systems are impacted beyond those that may hold copies of the Lemur database or its logs.

Risk and Exploitability

The CVSS score of 4.9 indicates a moderate severity for this vulnerability. Attackers cannot rely on external code execution; instead they need to obtain cleartext passwords that were recorded when admin users updated passwords via the PUT /​api/1/users/ endpoint. According to the description, if an attacker gains access to a Lemur database, backup, replica, query‑log or other administrative read channel, they can read these passwords instantly and use them without any offline cracking. The vulnerability is not currently listed in the CISA KEV catalog, and no EPSS score is available to quantify exploitation probability at this time.

Generated by OpenCVE AI on August 18, 2026 at 20:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply Lemur version 1.9.2 or later to ensure password updates are hashed automatically.
  • Force a password reset for all users to replace any plaintext passwords that may have been written before the upgrade.
  • Secure database backups, replicas, and query logs with encryption and restrict read access, and audit those data stores to confirm no plaintext passwords remain.

Generated by OpenCVE AI on August 18, 2026 at 20:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q437-g7fv-2jvv Lemur user-update path stores plaintext passwords
History

Tue, 18 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Netflix
Netflix lemur
Vendors & Products Netflix
Netflix lemur

Tue, 18 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 18 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title Lemur: Plaintext password storage in Lemur user-update path
Weaknesses CWE-256
References
Metrics cvssV3_1

{'score': 4.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-18T19:15:10.532Z

Reserved: 2026-06-16T15:13:28.165Z

Link: CVE-2026-55164

cve-icon Vulnrichment

Updated: 2026-08-18T19:14:48.474Z

cve-icon NVD

Status : Received

Published: 2026-08-18T19:16:58.493

Modified: 2026-08-18T20:17:18.843

Link: CVE-2026-55164

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T21:00:04Z

Weaknesses
  • CWE-256

    Plaintext Storage of a Password