CVE-2026-66883

MEDIUMPre-NVD 6.36.3
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 6.3 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 79% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
Elevated
6.3EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 6.3Exploit: Elevated riskExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Improper Handling of Case Sensitivity vulnerability in Erlang Ecosystem Foundation oidcc_plug (Oidcc.Plug.Authorize module) renders the user agent session binding inert, removing a defense in depth control against replay of a stolen session.

This vulnerability is associated with program files lib/oidcc/plug/authorize.ex and lib/oidcc/plug/authorization_callback.ex, and program routines Oidcc.Plug.Authorize.call/2 and Oidcc.Plug.AuthorizationCallback.call/2.

Oidcc.Plug.Authorize.call/2 reads the initiating client's user agent with get_req_header(conn, "User-Agent"). Plug lowercases incoming header names, but get_req_header/2 matches the supplied key exactly and performs no normalization of its own, so the mixed-case lookup always returns an empty list and nil is written into the session. On the callback side, Oidcc.Plug.AuthorizationCallback treats a stored nil user agent as nothing to compare and returns :ok without inspecting the request. The two behaviours combine so that the check passes unconditionally on every request, including for deployments that explicitly opted in with check_useragent: true, and an authorization callback can be completed from a different user agent than the one that initiated the flow without detection. The check fails open silently, with no error and no log entry, so a deployment cannot tell the binding is absent.

The impact is limited to defense in depth. The inert check does not by itself allow an attacker to complete an authorization flow; it removes one layer that would otherwise hinder use of a stolen or leaked session, such as an exfiltrated session cookie replayed from a different client. The CSRF/state, nonce, and PKCE checks are unaffected and continue to function. Deployments that never enabled check_useragent are not affected in practice, since they never expected the binding. The corresponding lookup in Oidcc.Plug.AuthorizationCallback correctly uses the lowercase key and is not affected.

This issue affects oidcc_plug: from 0.1.0-alpha.3 before 0.5.0.

CVSS v3
6.3
EG Score
6.3(medium)
EG Risk
44(Track)
EG Risk 44/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity63% × 45%
Exploitation40% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
21%
KEV
Not listed

Published

August 4, 2026

Last Modified

August 4, 2026

Advisory Details (4)

Auto-updated Aug 4, 2026
🔬 Proof of concept available. Patch available. Sources: github, github_commit.
github_commit Patch Available

commit f15e52c5750a (erlef/oidcc_plug)

Patch available: erlef/oidcc_plug v0.5.0 (contains commit f15e52c5750a)

https://github.com/erlef/oidcc_plug/commit/f15e52c5750aaba701104b10ed96cfac063bd557
generic

OSV - Open Source Vulnerabilities

https://osv.dev/vulnerability/EEF-CVE-2026-66883
github Patch Available🟡 PoC Available

Oidcc.Plug.Authorize user agent session binding inert due to case-sensitive header lookup · Advisory · erlef/oidcc_plug · GitHub

https://github.com/erlef/oidcc_plug/security/advisories/GHSA-w5r8-m75h-98fc

Affected Packages

(1 across 1 ecosystem)
Hex(1)
PackageVulnerable rangeFixed inDependents
oidcc_plug0.1.0 ... 0.4.0 (15 versions)0.5.0

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 11× in last 7d / 41× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-08-25 13:49 UTCEPSS rescore
  2. 2026-08-25 07:42 UTCEG score recompute
  3. 2026-08-23 08:23 UTCEG score recompute
  4. 2026-08-23 00:19 UTCEPSS rescore
  5. 2026-08-22 08:44 UTCEG score recompute
  6. 2026-08-21 23:49 UTCEPSS rescore
  7. 2026-08-21 09:05 UTCEG score recompute
  8. 2026-08-20 22:56 UTCEPSS rescore
  9. 2026-08-20 09:26 UTCEG score recompute
  10. 2026-08-19 17:04 UTCEPSS rescore
  11. 2026-08-19 09:47 UTCEG score recompute
  12. 2026-08-18 13:48 UTCEPSS rescore
  13. 2026-08-18 10:08 UTCEG score recompute
  14. 2026-08-17 13:47 UTCEPSS rescore
  15. 2026-08-17 10:23 UTCEG score recompute
  16. 2026-08-16 14:56 UTCEPSS rescore
  17. 2026-08-16 10:44 UTCEG score recompute
  18. 2026-08-15 11:06 UTCEG score recompute
  19. 2026-08-15 01:30 UTCEPSS rescore
  20. 2026-08-14 11:26 UTCEG score recompute
  21. 2026-08-13 22:00 UTCEPSS rescore
  22. 2026-08-13 11:47 UTCEG score recompute
  23. 2026-08-12 13:51 UTCEPSS rescore
  24. 2026-08-12 12:08 UTCEG score recompute
  25. 2026-08-11 12:28 UTCEG score recompute
Show 16 more
  1. 2026-08-11 00:00 UTCEPSS rescore
  2. 2026-08-10 12:49 UTCEG score recompute
  3. 2026-08-09 13:47 UTCEPSS rescore
  4. 2026-08-09 13:10 UTCEG score recompute
  5. 2026-08-08 16:37 UTCEPSS rescore
  6. 2026-08-08 13:31 UTCEG score recompute
  7. 2026-08-06 14:12 UTCEG score recompute
  8. 2026-08-06 13:47 UTCEPSS rescore
  9. 2026-08-05 19:17 UTCEPSS rescore
  10. 2026-08-05 19:17 UTCEPSS rescore
  11. 2026-08-04 14:53 UTCEG score recompute
  12. 2026-08-04 13:26 UTCEG score recompute
  13. 2026-08-04 12:33 UTCEG score recompute
  14. 2026-08-04 12:25 UTCEG score recompute
  15. 2026-08-04 11:55 UTCEG score recompute
  16. 2026-08-04 11:53 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-66883?
CVE-2026-66883 is a medium vulnerability published on August 4, 2026. Improper Handling of Case Sensitivity vulnerability in Erlang Ecosystem Foundation oidcc_plug (Oidcc.Plug.Authorize module) renders the user agent session binding inert, removing a defense in depth control against replay of a stolen session. This vulnerability is associated with program files…
When was CVE-2026-66883 disclosed?
CVE-2026-66883 was first published in the National Vulnerability Database on August 4, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-66883 actively exploited?
CVE-2026-66883 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 79.0% of all scored CVEs.
What is the CVSS score of CVE-2026-66883?
CVE-2026-66883 has a CVSS v3 base score of 6.3 (NVD).
How do I remediate CVE-2026-66883?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-66883, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-66883

Explore →

Is Your Infrastructure Affected by CVE-2026-66883?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.