CVE-2026-39807
📛 CVE Title
Client-supplied URI scheme trusted without transport verification in bandit
Description
Reliance on Untrusted Inputs in a Security Decision vulnerability in mtrudel bandit allows unauthenticated transport-state spoofing on plaintext HTTP connections. 'Elixir.Bandit.Pipeline':determine_scheme/2 in lib/bandit/pipeline.ex returns the client-supplied URI scheme verbatim, ignoring the transport's secure? flag. HTTP/1.1 absolute-form request targets (e.g. GET https://victim/path HTTP/1.1) and the HTTP/2 :scheme pseudo-header are both attacker-controlled strings that flow through this function. Over a plaintext TCP connection, a client can declare https and Bandit will set conn.scheme = :https even though no TLS was negotiated. Downstream Plug consumers that branch on conn.scheme are silently misled: Plug.SSL's already-secure branch skips its HTTP→HTTPS redirect, cookies emitted with secure: true are sent over plaintext, audit logs record requests as having arrived over HTTPS, and CSRF/SameSite gating may make incorrect decisions. This issue affects bandit: from 1.0.0 before 1.11.0.
Overview
- State
- PUBLISHED
- Assigner (CNA)
- EEF
- CVSS severity
- MEDIUM
- CVSS score
- 6.3 / 10
- CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N- Effective score
- 6.3 / 10 MEDIUM source: CNA overview
- CWE(s)
-
CWE-807 - Reserved
- 2026-04-07
- Published
- 2026-05-01 20:34 UTC
- Last updated
- 2026-05-04 17:11 UTC
- Source
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/39xxx/CVE-2026-39807.json
- Linked Threat
- CVE-2026-39807 — CVE-2026-39807
NVD triage scoring NVD CVE 2.0
Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.
- NVD published
- 2026-05-01 21:16:17 UTC
- NVD last modified
- 2026-05-05 19:37:28 UTC
- EPSS score
- 0.0002 (probability of exploitation in next 30 days)
- EPSS percentile
- 6.91% vs all CVEs — higher = more likely to be exploited, as of 2026-05-24
NVD / KEV / EPSS data refreshed 2026-05-25 02:27 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.
European Union Vulnerability Database ENISA EUVD
ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.
- EUVD ID
-
EUVD-2026-26714 - Assigner
- EEF
- Published
- May 1, 2026, 8:34:22 PM
- Updated
- May 27, 2026, 3:41:35 PM
- EUVD base score (CVSS 4.0)
-
6.3 / 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - EUVD-reported EPSS
- 0.0200
- Vendors
- mtrudel
- Products
-
bandit (1.0.0 <1.11.0)bandit (ff2f829326cd5dcf7335939aef9775269d881e28 <45feea20dea8af7ffd7245271107b695c040e667)bandit (ff2f829326cd5dcf7335939aef9775269d881e28 <1.11.0)
ENISA description: Reliance on Untrusted Inputs in a Security Decision vulnerability in mtrudel bandit allows unauthenticated transport-state spoofing on plaintext HTTP connections. 'Elixir.Bandit.Pipeline':determine_scheme/2 in lib/bandit/pipeline.ex returns the client-supplied URI scheme verbatim, ignoring the transport's secure? flag. HTTP/1.1 absolute-form request targets (e.g. GET https://victim/path HTTP/1.1) and the HTTP/2 :scheme pseudo-header are both attacker-controlled strings that flow through this function. Over a plaintext TCP connection, a client can declare https and Bandit will set conn.scheme = :https even though no TLS was negotiated. Downstream Plug consumers that branch on conn.scheme are silently misled: Plug.SSL's already-secure branch skips its HTTP→HTTPS redirect, cookies emitted with secure: true are sent over plaintext, audit logs record requests as having arrived over HTTPS, and CSRF/SameSite gating may make incorrect decisions. This issue affects bandit: from 1.0.0 before 1.11.0.
Affected products (2)
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| mtrudel | bandit |
1.0.0 (affected)
|
— |
| mtrudel | bandit |
ff2f829326cd5dcf7335939aef9775269d881e28 (affected)
|
— |
Vendor references (4)
References embedded in the original CVE record by the assigning CNA.
Web references (7)
DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.
- https://cna.erlef.org/cves/CVE-2026-39807.html tenable:cna.erlef.org
- https://github.com/mtrudel/bandit/commit/45feea20dea8af7ffd7245271107b695c040e667 tenable:github.com
- https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j tenable:github.com
- https://nvd.nist.gov/vuln/detail/CVE-2026-39807 tenable:nvd.nist.gov
- https://osv.dev/vulnerability/EEF-CVE-2026-39807 tenable:osv.dev
- https://www.cve.org/CVERecord?id=CVE-2026-39807 tenable:www.cve.org
- https://www.first.org/epss/ tenable:www.first.org
NVD-tagged references (5)
Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.
- https://cna.erlef.org/cves/CVE-2026-39807.html 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/mtrudel/bandit/commit/45feea20dea8af7ffd7245271107b695c040e667 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j 134c704f-9b21-4f2e-91b3-4a467353bcc0
- https://osv.dev/vulnerability/EEF-CVE-2026-39807 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Remediations (19)
Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.
-
web:cyberpress.org
The U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added two actively exploited Microsoft Defender vulnerabilities to its Known Exploited Vulnerabilities (KEV) catalog, issuing an urgent remediation directive for federal agencies with a due date of June 3, 2026 .
2026-05-23 21:51 UTC -
web:cyberscoop.com
Threats Microsoft addresses 137 vulnerabilities in May's Patch Tuesday, including 13 rated critical The high volume of vulnerabilities reflects a growing trend researchers have been anticipating as artificial intelligence models are deployed to find previously uncovered defects in code.
2026-05-23 21:51 UTC -
web:krebsonsecurity.com
Microsoft expects that exploitation is more likely. May's Patch Tuesday is a welcome respite from April, which saw Microsoft fix a near-record 167 security flaws.
2026-05-23 21:51 UTC -
web:portal.msrc.microsoft.com
The Security Update Guide provides information on the latest Microsoft security updates, helping users understand and address potential vulnerabilities effectively.
2026-05-23 21:51 UTC -
web:redmondmag.com
Microsoft this week released one of the largest Patch Tuesday bundles in its history, delivering fixes for 163 new Microsoft CVEs in a month that includes three zero-days and eight Critical-rated ...
2026-05-23 21:51 UTC -
web:www.bleepingcomputer.com
Today is Microsoft's April 2026 Patch Tuesday with security updates for 167 flaws, including 2 zero-day vulnerabilities.
2026-05-23 21:51 UTC -
web:www.crowdstrike.com
Microsoft's April 2026 Patch Tuesday addresses 164 CVEs , featuring 8 Critical vulnerabilities, one exploited zero-day, and one disclosed zero-day.
2026-05-23 21:51 UTC -
web:www.csoonline.com
Microsoft highlighted six new and actively exploited vulnerabilities among the 60 fixes issued in today's February Patch Tuesday releases.
2026-05-23 21:51 UTC -
web:www.pcworld.com
This month's Patch Tuesday includes an actively exploited Office zero-day vulnerability and several critical RCE bugs in Windows and Remote Desktop.
2026-05-23 21:51 UTC -
web:zecurit.com
Get the complete breakdown of Microsoft's May 2026 Patch Tuesday. We analyze the latest security updates and all critical CVEs .
2026-05-23 21:51 UTC -
web:blog.qualys.com
May 2026's Patch Tuesday arrives with Microsoft addressing a fresh set of vulnerabilities across its ecosystem, reinforcing the ongoing need for timely patching in an increasingly threat-heavy…
2026-06-03 07:49 UTC -
web:cybersecuritynews.com
Microsoft Exchange Server spoofing flaw, is being actively exploited against on-premises systems before a permanent patch is available.
2026-06-03 07:49 UTC -
web:msrc.microsoft.com
Security Update Guide - Microsoft Security Response Center
2026-06-03 07:49 UTC -
web:nvd.nist.gov
The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, product names, and impact metrics. For ...
2026-06-03 07:49 UTC -
web:windowsforum.com
The mitigation name administrators should verify for CVE - 2026 -42897 is M2. Exchange Server 2016, Exchange Server 2019, and Exchange Server Subscription Edition are affected at any update level, while Exchange Online is not affected.
2026-06-03 07:49 UTC -
web:www.helpnetsecurity.com
Microsoft has marked May 2026 Patch Tuesday by releasing fixes for 120+ CVE -numbered vulnerabilities, none of which are actively exploited.
2026-06-03 07:49 UTC -
web:www.lansweeper.com
Which vulnerabilities, issues, and other things did Microsoft update? Discover what's new using Lansweeper's Patch Tuesday May 2026 summary.
2026-06-03 07:49 UTC -
web:www.oracle.com
This Critical Patch Update contains 481 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at April 2026 Critical Patch Update: Executive Summary and Analysis.
2026-06-03 07:49 UTC -
web:www.pdq.com
May 2026 Patch Tuesday is here, and PDQ is back with another recap. Will we see another month of increased CVE volume? Is AI to blame? Dive in to learn more.
2026-06-03 07:49 UTC
AI Forensic Analysis
Only Available for Registered Users. Sign in to view.
Raw JSON
The full cvelistV5 record. Download as CVE-2026-39807.json.
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-39807",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-02T01:17:52.498343Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-02T01:18:10.776Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"'Elixir.Bandit.Pipeline'"
],
"packageName": "bandit",
"packageURL": "pkg:hex/bandit",
"product": "bandit",
"programFiles": [
"lib/bandit/pipeline.ex"
],
"programRoutines": [
{
"name": "'Elixir.Bandit.Pipeline':determine_scheme/2"
}
],
"repo": "https://github.com/mtrudel/bandit",
"vendor": "mtrudel",
"versions": [
{
"lessThan": "1.11.0",
"status": "affected",
"version": "1.0.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"'Elixir.Bandit.Pipeline'"
],
"packageName": "mtrudel/bandit",
"packageURL": "pkg:github/mtrudel/bandit",
"product": "bandit",
"programFiles": [
"lib/bandit/pipeline.ex"
],
"programRoutines": [
{
"name": "'Elixir.Bandit.Pipeline':determine_scheme/2"
}
],
"repo": "https://github.com/mtrudel/bandit",
"vendor": "mtrudel",
"versions": [
{
"lessThan": "45feea20dea8af7ffd7245271107b695c040e667",
"status": "affected",
"version": "ff2f829326cd5dcf7335939aef9775269d881e28",
"versionType": "git"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "<p>The vulnerable system must be accepting plaintext (non-TLS) HTTP connections, either directly or via h2c. Deployments that exclusively use TLS are not affected.</p>"
}
],
"value": "The vulnerable system must be accepting plaintext (non-TLS) HTTP connections, either directly or via h2c. Deployments that exclusively use TLS are not affected."
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.11.0",
"versionStartIncluding": "1.0.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Peter Ullrich"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Mat Trudel"
},
{
"lang": "en",
"type": "analyst",
"value": "Jonatan M\u00e4nnchen"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Reliance on Untrusted Inputs in a Security Decision vulnerability in mtrudel bandit allows unauthenticated transport-state spoofing on plaintext HTTP connections.<p><tt>'Elixir.Bandit.Pipeline':determine_scheme/2</tt> in <tt>lib/bandit/pipeline.ex</tt> returns the client-supplied URI scheme verbatim, ignoring the transport's <tt>secure?</tt> flag. HTTP/1.1 absolute-form request targets (e.g. <tt>GET https://victim/path HTTP/1.1</tt>) and the HTTP/2 <tt>:scheme</tt> pseudo-header are both attacker-controlled strings that flow through this function. Over a plaintext TCP connection, a client can declare <tt>https</tt> and Bandit will set <tt>conn.scheme = :https</tt> even though no TLS was negotiated.</p><p>Downstream Plug consumers that branch on <tt>conn.scheme</tt> are silently misled: <tt>Plug.SSL</tt>'s already-secure branch skips its HTTP\u2192HTTPS redirect, cookies emitted with <tt>secure: true</tt> are sent over plaintext, audit logs record requests as having arrived over HTTPS, and CSRF/SameSite gating may make incorrect decisions.</p><p>This issue affects bandit: from 1.0.0 before 1.11.0.</p>"
}
],
"value": "Reliance on Untrusted Inputs in a Security Decision vulnerability in mtrudel bandit allows unauthenticated transport-state spoofing on plaintext HTTP connections.\n\n'Elixir.Bandit.Pipeline':determine_scheme/2 in lib/bandit/pipeline.ex returns the client-supplied URI scheme verbatim, ignoring the transport's secure? flag. HTTP/1.1 absolute-form request targets (e.g. GET https://victim/path HTTP/1.1) and the HTTP/2 :scheme pseudo-header are both attacker-controlled strings that flow through this function. Over a plaintext TCP connection, a client can declare https and Bandit will set conn.scheme = :https even though no TLS was negotiated.\n\nDownstream Plug consumers that branch on conn.scheme are silently misled: Plug.SSL's already-secure branch skips its HTTP\u2192HTTPS redirect, cookies emitted with secure: true are sent over plaintext, audit logs record requests as having arrived over HTTPS, and CSRF/SameSite gating may make incorrect decisions.\n\nThis issue affects bandit: from 1.0.0 before 1.11.0."
}
],
"impacts": [
{
"capecId": "CAPEC-220",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-220 Client-Server Protocol Manipulation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 6.3,
"baseSeverity": "MEDIUM",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "LOW"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-807",
"description": "CWE-807 Reliance on Untrusted Inputs in a Security Decision",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-04T17:11:38.567Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-39807.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-39807"
},
{
"tags": [
"patch"
],
"url": "https://github.com/mtrudel/bandit/commit/45feea20dea8af7ffd7245271107b695c040e667"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Client-supplied URI scheme trusted without transport verification in bandit",
"x_generator": {
"engine": "cvelib 1.8.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-39807",
"datePublished": "2026-05-01T20:34:22.832Z",
"dateReserved": "2026-04-07T12:28:54.916Z",
"dateUpdated": "2026-05-04T17:11:38.567Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}