CVE-2026-55735 Details
Description
Improper Verification of Cryptographic Signature in ueberauth guardian allows an unauthenticated attacker to revoke a victim's session with a forged token. Guardian.revoke/3 in lib/guardian.ex decodes the supplied token with peek/1, which performs no signature verification (it only base64-decodes the JWT header and payload). The resulting unverified claims are forwarded directly to the configured token module's revoke callback and the implementation's on_revoke callback, a state-mutating sink. The sibling operations refresh/2 and exchange/4 both call decode_and_verify first, so the signature is checked before anything acts on the claims; revoke/3 is the only state-mutating path that acts on claims without verifying the signature. An attacker who knows or guesses a victim's identifying claim values (jti, sub) can forge a JWT carrying those claims, sign it with an arbitrary key, and submit it to any endpoint that funnels a caller-supplied token into Guardian.revoke/3 (the standard logout / session-revocation pattern). When the token module mutates state keyed by the claims (whitelist deletion or blacklist insertion, for example a GuardianDb-style store), the victim's legitimate session is evicted. This is an unauthenticated session-revocation denial of service; the attacker never needs the signing secret. This issue affects guardian: from 1.0.0 before 2.4.1.
A vulnerability in the Ueberauth Guardian library, specifically in versions 1.0.0 prior to 2.4.1, allows an unauthenticated attacker to revoke a victim's session using a forged JSON Web Token (JWT). The issue arises because the `Guardian.revoke/3` function decodes tokens without verifying their signatures, using a method that only base64-decodes the JWT header and payload. This flaw enables attackers who know or can guess a victim's `jti` or `sub` claim values to create a fake token, sign it with any key, and submit it to revoke the victim's session. The vulnerability leads to an unauthorized session termination, causing a denial-of-service effect on the user's session.
Users can update to Ueberauth Guardian version 2.4.1 or later, where this vulnerability has been fixed. Additionally, as a temporary measure, applications can verify a token's signature before revoking it by using the `decode_and_verify` function, and only pass tokens with valid signatures to `Guardian.revoke/3`. Tokens with invalid signatures should be rejected at the application level.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Aug 3, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/ueberauth/guardian/security/advisories/GHSA-7975-hp3r-5qhv | CISA-ADP | ExploitPatchVendor Advisory |
| https://cna.erlef.org/cves/CVE-2026-55735.html | EEF | Third Party Advisory |
| https://github.com/ueberauth/guardian/commit/2bd7a8c29770d423d855c0a4965caa6c3e486901 | EEF | Patch |
| https://github.com/ueberauth/guardian/security/advisories/GHSA-7975-hp3r-5qhv | EEF | ExploitPatchVendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-55735 | EEF | Third Party Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-347 | Improper Verification of Cryptographic Signature | EEF |
Affected Products
| Product | Versions |
|---|---|
| ueberauth guardian | >= 1.0.0, < 2.4.1 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 6, 2026 | Initial Analysis | [email protected] |
| Aug 3, 2026 | CVE Modified | CISA-ADP |
| Aug 1, 2026 | New CVE Received | EEF |