Authorization Bypass in Lemur Leading to Unauthorized Certificate Revocation
An authorization bypass vulnerability in Lemur allows authenticated users to revoke arbitrary certificates by creating duplicate certificate records and bypassing ownership and endpoint-attached safeguards.
CVE search metadata
CVE search record: CVE-2026-71417. Severity: high. CVSS: 7.3. KEV: no. Product: lemur, Lemur (>= 0.5.0, <= 1.9.2), Lemur (<= 1.9.2). Brief: Authorization Bypass in Lemur Leading to Unauthorized Certificate Revocation. Brief link: https://feed.craftedsignal.io/briefs/2026-08-lemur-cert-revocation/
What's new
- 1. added coverage for Lemur (<= 1.9.2) Aug 18, 20:57 via ghsa
- 2. added detection rule: Detect Exploitation of CVE-2026-71303 - SSRF via Lemur Authority Update Aug 18, 20:56 via ghsa
- 3. added coverage for Lemur Aug 18, 20:56 via ghsa
- 4. added coverage for Lemur (>= 0.5.0, <= 1.9.2) Aug 18, 20:56 via ghsa
Lemur (<= 1.9.2) contains a critical authorization bypass vulnerability, identified as CVE-2026-71417, which permits any authenticated user with non-read-only permissions to revoke production certificates. The vulnerability stems from an insecure certificate upload workflow that allows users to supply external identifiers (like body or external_id) without validating AuthorityPermission.
Because the Lemur database lacks uniqueness constraints on these identifiers, an attacker can create a duplicate certificate record for a target production certificate. When the attacker initiates a revocation on this newly created, attacker-owned duplicate, the application's authorization logic bypasses the ownership check. Furthermore, because the duplicate record has no associated endpoints in the Lemur database, the safety mechanism designed to prevent the revocation of active production certificates is entirely bypassed. This allows an attacker to interact with the issuing CA using the CA's stored credentials to revoke legitimate, live certificates, facilitating mass denial-of-service (DoS) of TLS-protected infrastructure.
Attack Chain
- The attacker queries the API (e.g.,
GET /api/1/certificates/<ID>) to obtain thebody,authority.id, andexternal_idof a target production certificate. - The attacker uses the
POST /api/1/certificates/uploadendpoint to create a new certificate record in the Lemur database. - The attacker provides the target's stolen metadata in the upload request; Lemur accepts this as a new record because it lacks uniqueness constraints on
bodyorexternal_id. - The attacker is now the creator/owner of the new, duplicate database record, which satisfies the
g.current_user != cert.userauthorization check inviews.py. - The attacker calls
PUT /api/1/certificates/<DUP_ID>/revokeon the duplicate certificate record. - The system checks for existing endpoints associated with the record; since the duplicate record has none, the safety check is bypassed.
- The Lemur issuer plugin retrieves the CA credentials and invokes the CA's revocation API using the
bodyorexternal_idprovided by the attacker. - The issuing CA processes the revocation, rendering the target production certificate invalid.
Impact
Successful exploitation allows a low-privileged authenticated user to perform fleet-wide revocation of TLS certificates. This results in an immediate denial-of-service for all services using the revoked certificates. Given the ability to iterate through available certificate IDs via the API, the impact can extend to entire organizations, affecting both internal and external-facing TLS-secured endpoints.
Recommendation
Prioritize patching the Lemur instance to a version containing the remediation for CVE-2026-71417. Detection teams should monitor for anomalous usage of the certificate upload and revocation endpoints.
- Upgrade the Lemur package to a version beyond 1.9.2 immediately.
- Implement a database-level uniqueness constraint on the
(authority_id, serial)orbodyfields for certificate records to prevent duplicate aliasing. - Audit access logs for users performing rapid sequences of certificate uploads followed by revocation calls.
- Restrict the
POST /api/1/certificates/uploadandPUT /api/1/certificates/<ID>/revokeendpoints to ensure thatAuthorityPermissionis validated regardless of row ownership.
Immediate actions
Upgrade Lemur to a non-vulnerable version.
Detection coverage 1
Detect Exploitation of CVE-2026-71303 - SSRF via Lemur Authority Update
highDetects PUT requests to the Lemur authority update API that contain potential SSRF targets in the acme_url option
Detection queries are available on the platform. Get full rules →