Skip to main content

ueberauth Guardian EUVDEUVD-2026-51914

| CVE-2026-55735 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-08-01 EEF
8.2
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Enumerate victim's JWT sub or jti claim values
  2. Delivery
    Forge JWT payload with victim's claims, sign with arbitrary key
  3. Exploit
    Submit forged token to application logout endpoint
  4. Install
    Guardian.revoke/3 calls peek/1, skipping signature verification
  5. C2
    Unverified claims forwarded to token store revoke callback
  6. Execute
    Victim's active session record deleted from persistent store
  7. Impact
    Victim forced to re-authenticate on next request

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires three concurrent conditions: (1) the application runs Guardian 1.0.0-2.4.0 with a persistent, claim-keyed token store - any token module whose revoke callback mutates state keyed by jti or sub, such as GuardianDb; (2) the application exposes an endpoint that accepts a caller-supplied token and passes it to Guardian.revoke/3, which is the standard logout/session-revocation pattern; and (3) the attacker can determine the victim's JWT sub (user identifier) or jti (token identifier) - through enumeration, prior token exposure, or public profile data. Applications that do not persist revocation state (stateless JWT validation only) are not vulnerable because the revoke callback has no durable side effect to exploit. No authentication is required; exploitation is entirely unauthenticated and does not grant access to the victim's account - the impact is limited to forced session termination.

Impact

The CVSS 4.0 base score of 8.2 with vector AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H correctly characterizes this as a high-availability-impact, network-accessible flaw requiring no privileges or user interaction. The AT:P (partial attack requirements) modifier acknowledges a real prerequisite: the attacker must know or enumerate the victim's JWT claim values (sub, jti); jti is typically a UUID and is difficult to guess without prior token exposure, while sub is often a user ID or email that may be enumerable from public surfaces. Impact is strictly limited to availability - forcible session expiry - with no confidentiality or integrity compromise; the attacker cannot impersonate the victim or read session content. No CISA KEV listing exists and no public POC code has been identified, meaning exploitation remains theoretical at this time. However, the attack is mechanically trivial for any attacker who has obtained claim values through prior reconnaissance, intercepted JWTs, or enumerable sub values. Organizations using GuardianDb or equivalent persistent stores should treat this as an urgent upgrade given the complete lack of required privileges.

Exploit ScenarioDerived

An attacker who knows or infers a target user's JWT sub claim (for example, by knowing their account email or user ID from a public profile or prior data exposure) constructs a forged JWT payload containing that sub and an arbitrary jti, signs it with a self-generated key, and submits it to the application's standard logout endpoint. The endpoint calls Guardian.revoke/3 with the forged token; peek/1 extracts the attacker-controlled claims without signature verification, and those claims are forwarded to the GuardianDb revocation callback, which deletes the victim's active session record. On their next authenticated request the victim receives an authorization error and is forced to re-authenticate, constituting a repeatable, targeted session-eviction denial-of-service.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 01, 2026

Session revocation denial-of-service in ueberauth Guardian (Elixir) allows an unauthenticated network attacker to forcibly terminate any user's active session by submitting a cryptographically forged JWT to a logout endpoint. Guardian.revoke/3 extracted claims via peek/1 - which only base64-decodes the JWT without verifying the signature - and passed those unverified claims directly to the token store's revocation callback, enabling a forged token carrying a victim's jti or sub values to evict a legitimate session. The vulnerability spans all production releases 1.0.0 through pre-2.4.1; no public exploit or CISA KEV listing exists at time of analysis, but the attack requires only knowledge of a victim's identifying JWT claims.

RemediationAI

Upgrade to Guardian 2.4.1 or later; this version replaces the peek/1 call in revoke/3 with decode_token/3, which verifies the token signature before any revocation callback is invoked. Claim validation (including expiry) is intentionally still skipped in the patched code, preserving the ability to revoke already-expired tokens. The fix is confirmed in commit 2bd7a8c29770d423d855c0a4965caa6c3e486901 (https://github.com/ueberauth/guardian/commit/2bd7a8c29770d423d855c0a4965caa6c3e486901) and documented in GHSA-7975-hp3r-5qhv. If an immediate upgrade is not feasible, add an explicit signature verification step in your application's logout controller: call Guardian.decode_and_verify/3 on the incoming token before forwarding it to Guardian.revoke/3, and reject any token that fails verification. The trade-off of this workaround is that legitimately expired tokens will also fail decode_and_verify and will need a separate code path to remain revocable; applications that do not need to explicitly revoke expired tokens can accept this trade-off without impact.

Affected VersionsENISA

Guardian 1.0.0 <2.4.1
Guardian d65227145f72b290106c06cecbe42728fbf05fe2 <2bd7a8c29770d423d855c0a4965caa6c3e486901

Affected Packages

euvd guardian fix: 2.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-347 (Improper Verification of Cryptographic Signature) in the Guardian Elixir JWT authentication library (cpe:2.3:a:ueberauth:guardian). Guardian.revoke/3 in lib/guardian.ex used peek/1 to extract claims from the caller-supplied token; peek/1 merely base64-decodes the JWT header and payload without performing any HMAC or asymmetric signature verification. The sibling state-mutating operations refresh/2 and exchange/4 both correctly call decode_and_verify before acting on claims, making revoke/3 the sole code path that operated on unverified claim data. In deployments using a persistent, claim-keyed token store such as GuardianDb, passing unverified claims to the revoke callback triggers a real database write - deleting the victim's session record - because the store keys revocation state on jti or sub values that the attacker fully controls in the forged JWT payload.

Know when Guardian gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-accessible with no required privileges or interaction; sole impact is availability (forced session revocation); AC:L because the forging mechanism is technically trivial once claim values are known.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

ueberauth Guardian, the authentication library used in Elixir web applications, contains a session termination vulnerability that allows attackers to forcibly log out any active user without credentials. This directly compromises application availability and user experience, as attackers can disrupt sessions for any user in affected deployments. Organizations running Guardian versions 1.0.0 through 2.4.0 face immediate risk to business operations and customer trust.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
dominant authentication library in the Elixir/Phoenix ecosystem
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-34107 CRITICAL POC
9.3 Jul 01

OS command injection in Guardian language-system lets unauthenticated remote attackers run arbitrary shell commands by i

CVE-2026-34106 CRITICAL POC
9.3 Jul 01

Remote code execution in Guardian language-system allows unauthenticated attackers to run arbitrary OS commands by injec

CVE-2026-34099 CRITICAL POC
9.3 Jul 01

Unauthenticated SQL injection in Guardian Language System lets remote attackers manipulate the backend database by injec

CVE-2026-34105 HIGH POC
8.7 Jul 01

Error-based SQL injection in Guardian Language-System allows a network-accessible authenticated attacker to extract the

CVE-2026-34104 HIGH POC
8.7 Jul 01

SQL injection in Guardian Language-System's designer.php (line 124) allows attackers to extract, modify, or destroy the

CVE-2026-34103 HIGH POC
8.7 Jul 01

Error-based SQL injection in Guardian language-system's subtitles.php exposes full database contents to low-privileged a

CVE-2026-34102 HIGH POC
8.7 Jul 01

Error-based SQL injection in Guardian Language-System exposes the full database to low-privileged authenticated attacker

CVE-2026-34101 HIGH POC
8.7 Jul 01

Error-based SQL injection in Guardian language-system's text_file.php exposes the full database to extraction via a triv

CVE-2026-34100 HIGH POC
8.7 Jul 01

SQL injection in Guardian language-system's media.php endpoint allows low-privilege authenticated attackers to extract t

CVE-2020-7049 HIGH POC
7.3 Jun 30

Nozomi Networks OS before 19.0.4 allows /#/network?tab=network_node_list.html CSV Injection. Rated high severity (CVSS 7

CVE-2020-15307 MEDIUM POC
6.1 Jun 30

Nozomi Guardian before 19.0.4 allows attackers to achieve stored XSS (in the web front end) by leveraging the ability to

CVE-2023-29245 CRITICAL
9.2 Sep 19

A SQL Injection vulnerability in Nozomi Networks Guardian and CMC, due to improper input validation in certain fields us

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy