Skip to main content

oidcc EUVDEUVD-2026-68145

| CVE-2026-75759 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-08-30 EEF
7.6
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Access
    Retrieve relying party public encryption key from JWKS URI
  2. Delivery
    Craft unsigned JWE encoding arbitrary sub/iss/aud claims
  3. Exploit
    Trigger victim authentication flow at relying party
  4. Execution
    Inject forged JWE via browser front-channel JARM or token response
  5. Persist
    oidcc decrypts token and accepts unsigned claims as validated
  6. Impact
    Attacker authenticated as impersonated user

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 target application runs oidcc versions 3.2.0-beta.1 through before 3.9.0; (2) the OpenID Provider or relying party configuration enables encrypted ID tokens (id_token_encryption_alg_values_supported is set, e.g., to RSA-OAEP) or JARM is in use for authorization responses; and (3) the attacker can obtain the relying party's public encryption key, which in standard deployments is publicly accessible via the JWKS URI. User interaction is required: the victim must initiate a legitimate authentication flow through the relying party, as the forged token must be delivered through the browser front-channel callback. Exploitation is NOT possible against the UserInfo endpoint (explicitly excluded by the OpenID Connect specification and confirmed in the vendor advisory), against deployments using signed-only ID tokens (no encryption configured), or against oidcc versions before 3.2.0-beta.1 or 3.9.0 and later.

Impact

The CVSS 4.0 score of 7.6 (AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N) captures a network-reachable, unauthenticated flaw with high confidentiality and integrity impact, tempered by two limiting factors: AT:P (specific attack prerequisites - encrypted token support must be configured) and UI:P (victim must initiate an authentication flow). In practice, the AT:P constraint is weaker than it appears: OpenID Connect relying parties routinely publish their JWKS endpoint publicly, meaning the encryption key an attacker needs is freely accessible in any standard deployment that supports ID token encryption. The UI:P constraint is also inherent to browser-based OAuth/OIDC flows and should not be treated as a meaningful barrier for targeted attacks. No EPSS score was provided in the input data; no CISA KEV listing is present, and no public POC was referenced, indicating no confirmed active exploitation at time of analysis. The impact is critical for any deployment using encrypted ID tokens or JARM (common in FAPI 2.0 and financial-grade API contexts, as suggested by the test fixtures referencing FAPI 2.0 client contexts), but deployments using signed-only ID token flows are entirely unaffected. The absence of a public exploit and the narrow deployment surface (Erlang/Elixir ecosystem, encrypted token feature enabled) suggest moderate real-world urgency, though the authentication bypass impact justifies priority patching where the feature is in use.

Exploit ScenarioDerived

An attacker retrieves the relying party application's public encryption key from its published JWKS endpoint, then constructs a JWE token containing fabricated claims (sub set to the target victim's user identifier, iss set to the legitimate provider's issuer URL, aud set to the relying party's client ID) without applying any nested signature. The attacker delivers this token through the browser front-channel authentication callback - for example, as a JARM-encoded authorization response - and oidcc, in vulnerable versions, decrypts the token and returns the unsigned claims as fully validated, granting the attacker a session as the impersonated user.

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

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

Alert me

AnalysisAI

Authentication bypass in oidcc (Erlang/Elixir OpenID Connect library) versions 3.2.0-beta.1 through before 3.9.0 allows unauthenticated attackers to impersonate arbitrary users by presenting a JWE-encrypted ID token or JARM response that wraps unsigned claims, which the library incorrectly accepted as fully validated. The relying party's public encryption key - typically published at a well-known JWKS endpoint - is all an attacker needs to forge tokens with arbitrary sub, iss, and aud values, bypassing provider signing-key possession entirely. No public exploit has been identified at time of analysis, and this CVE is not listed in CISA KEV; however, the impact for affected deployments using encrypted ID tokens or JARM is complete authentication bypass.

RemediationAI

Upgrade oidcc to version 3.9.0 or later, which incorporates the fix committed at https://github.com/erlef/oidcc/commit/5f62fbccdae8526ff62653b8901657a6c1400fd9 and detailed in the vendor advisory at https://github.com/erlef/oidcc/security/advisories/GHSA-533g-4vf3-xwrj. The patch adds rejection of #jose_jwe{} structures in verify_not_none_alg/1 with a signature_required error, and updates both int_validate_jwt/4 and validate_jarm/3 to propagate that error rather than returning success. If an immediate upgrade is not feasible, a compensating control is to disable encrypted ID token support at the provider or relying-party configuration level, reverting to signed-only ID tokens - note this may conflict with FAPI 2.0 compliance requirements or provider mandates for encryption, so assess the trade-off before applying. JARM support should likewise be disabled or restricted to signed responses only if the upgrade cannot be applied promptly.

Affected VersionsENISA

oidcc 3.2.0-beta.1 <3.9.0
oidcc 37a1361f704889816db2873f72d744d63ec39568 <5f62fbccdae8526ff62653b8901657a6c1400fd9

Affected Packages

euvd oidcc fix: 3.9.0

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 affected library is oidcc by the Erlang Ecosystem Foundation (EEF), CPE cpe:2.3:a:erlef:oidcc:*:*:*:*:*:*:*:*, an OpenID Connect relying-party implementation for Erlang/Elixir applications. CWE-347 (Improper Verification of Cryptographic Signature) precisely describes the root cause: in oidcc_jwt_util:verify_decrypted_token/4, when the decrypted JWT payload was a bare JWE (encrypted-only) rather than a nested JWS, the code parsed the plaintext claims and returned them with no verifying key attached. oidcc_token:int_validate_jwt/4 then dispatched on the JOSE structure type (#jose_jwe{} vs #jose_jws{}) rather than on whether a signature had actually been verified, and returned success. The fix, visible in commit 5f62fbccdae8526ff62653b8901657a6c1400fd9, extends verify_not_none_alg/1 to match on #jose_jwe{} and return {error, signature_required}, and changes int_validate_jwt/4 to propagate that error instead of returning {ok, {Claims, none}}. OpenID Connect Core 1.0 section 2 mandates that encrypted ID tokens MUST be Nested JWTs (sign-then-encrypt); JARM processing rule 5 requires signature validation unconditionally. UserInfo responses are deliberately excluded from the fix because section 5.3.2 of the same specification explicitly permits them to be encrypted without signing.

Know when Oidcc 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 7.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.8 MEDIUM

Network-delivered via browser callback (AV:N); encrypted token support is non-default, mapping AT:P to AC:H; no authentication required (PR:N); victim must initiate the auth flow (UI:R); full account impersonation yields C:H/I:H with no availability impact.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/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
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper Verification of Cryptographic Signature vulnerability in erlef oidcc allows an unauthenticated attacker to impersonate an arbitrary user via an encrypted ID token or JARM response carrying no nested signature. OpenID Connect Core 1.0 section 2 requires that an encrypted ID token be signed then encrypted, with the result being a Nested JWT, and JARM processing rule 5 requires the client to check the signature unconditionally. oidcc instead accepted a JWE wrapping unsigned claims as fully validated, so anyone holding the relying party's public encryption key could mint a token with an arbitrary sub, iss, and aud without possessing the provider's signing key.

In oidcc_jwt_util:verify_decrypted_token/4, a decrypted payload that is not a signed JWS fell back to parsing the plaintext claims and returning them with no verifying key. oidcc_token:int_validate_jwt/4 then matched on the JOSE structure type rather than on whether a signature had been verified, and returned success. The JARM path in oidcc_token:validate_jarm/3 is reachable through the browser front channel. UserInfo responses are not affected, because OpenID Connect Core 1.0 section 5.3.2 permits them to be encrypted without also being signed.

This issue affects oidcc: from 3.2.0-beta.1 before 3.9.0.

Technical POC Analysis

CWE-347 (Improper Verification of Cryptographic Signature).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
Erlang/Elixir-specific OIDC library, niche ecosystem deployment footprint
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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.1%
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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