CVE-2026-66884
Received Received - Intake

Cross-Site Request Forgery in oidcc_plug

Vulnerability report for CVE-2026-66884, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-04

Last updated on: 2026-08-04

Assigner: EEF

Description

Cross-Site Request Forgery vulnerability in Erlang Ecosystem Foundation oidcc_plug (Oidcc.Plug.AuthorizationCallback module) allows an attacker to make a victim's browser complete an authorization flow the victim never initiated. This vulnerability is associated with program file lib/oidcc/plug/authorization_callback.ex and program routine Oidcc.Plug.AuthorizationCallback.call/2. A callback request that carries no Oidcc.Plug.Authorize session is processed with every security check disabled rather than being rejected. call/2 substitutes permissive defaults for the absent session, and each downstream check treats its value as nothing to compare and returns :ok, so the nonce, state, PKCE, peer IP and user agent checks are all skipped. A separate clause of check_state/2 also accepts a state-less request when a verifier is present. An attacker obtains an authorization code for their own provider account, then induces the victim to visit the callback endpoint with that code and no state parameter. The application signs the victim in as the attacker, so the victim's subsequent actions occur in the attacker's account where the attacker can read them. Applications reusing one callback for both signing in and linking a provider account are further exposed to account takeover, the attacker's account becoming linked to the victim's. The permissive fallback serves no conforming flow. Third-party-initiated login reaches a relying party at a separate login initiation endpoint and causes it to send a fresh authentication request, and this library implements no such endpoint. Oidcc.Plug.Authorize always sends a state parameter, which an authorization server must echo, so no legitimate callback lacks one. This issue affects oidcc_plug: from 0.2.0-beta.1 before 0.5.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-04
Last Modified
2026-08-04
Generated
2026-08-04
AI Q&A
2026-08-04
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
erlang_ecosystem_foundation oidcc_plug From 0.2.0-beta.1 (inc) to 0.5.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-352 The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-66884 is a Cross-Site Request Forgery (CSRF) vulnerability in the Erlang library oidcc_plug. It affects versions between 0.2.0-beta.1 and 0.5.0. The issue occurs in the authorization callback process where requests without a valid Oidcc.Plug.Authorize session are incorrectly processed with all security checks disabled instead of being rejected. This allows an attacker to complete an authorization flow in a victim's browser using a stolen authorization code, leading to the victim being signed into the attacker's account.

Detection Guidance

To detect this vulnerability, inspect your oidcc_plug application logs for callback requests lacking the Oidcc.Plug.Authorize session or state parameter. Check if requests bypass security checks like nonce, PKCE, or state validation. Verify if authorization codes are processed without proper session binding.

Impact Analysis

An attacker can trick a victim into visiting a malicious link, causing the victim's browser to complete an unauthorized authorization flow. The victim is then signed into the attacker's account, allowing the attacker to read the victim's subsequent actions. If the application uses a single callback for both signing in and linking provider accounts, the attacker can take over the victim's account by linking their own identity to it.

Mitigation Strategies

Upgrade oidcc_plug to version 0.5.0 or later. As a temporary workaround, add a plug to reject requests without a valid Oidcc.Plug.Authorize session or state parameter before processing the callback. Ensure PKCE is enforced by your OAuth provider.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-66884. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart