CVE-2026-115538 (GCVE-0-2026-115538)
Vulnerability from cvelistv5 – Published: 2026-11-10 19:58 – Updated: 2026-11-10 19:58- CWE-693 - Protection Mechanism Failure
| URL | Tags |
|---|---|
| https://github.com/moby/moby/security/advisories/… | vendor-advisory |
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Docker | Docker Engine |
Affected:
0 , < 29.9.3
(semver)
|
guessed | |
| Moby | Moby |
Affected:
0 , < v2.0.0-beta.29
(semver)
|
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"platforms": [
"Linux"
],
"product": "Docker Engine",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.9.3",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"packageName": "github.com/moby/moby/v2",
"platforms": [
"Linux"
],
"product": "Moby",
"vendor": "Moby",
"versions": [
{
"lessThan": "v2.0.0-beta.29",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"value": "Linux Swarm nodes with at least one task or container attached to an encrypted overlay network, running firewalld in a configuration that deletes other applications\u0027 iptables rules. This includes FirewallBackend=iptables in any firewalld version. With FirewallBackend=nftables, a node is affected if firewalld lacks commit b7faa74db15e2d1ebd9fdfcdc7579874d3a2fa87 (included in firewalld 2.0.0 and later, firewalld-1.2.5-1.el9 for RHEL 9, and firewalld-0.9.11-9.el8 for RHEL 8), or if firewalld has direct rules, direct chains, or tracked passthrough rules. The FlushAllOnReload setting does not determine whether a node is affected. Rules are deleted on firewalld reload or complete reload, on stop with CleanupOnExit=yes (the default), and on start, including restart or starting firewalld after dockerd."
}
],
"descriptions": [
{
"lang": "en",
"value": "Moby\u0027s overlay network driver does not restore the iptables rules for encrypted overlay networks after firewalld deletes them. Unlike other Docker Engine networking components, the overlay driver does not handle firewalld reload or start signals over D-Bus. The missing rules cause outgoing VXLAN datagrams to bypass IPsec encryption and remove the protection against incoming cleartext VXLAN traffic. The condition is not logged by dockerd and persists until the encrypted network\u0027s last local endpoint is removed and another is added, or dockerd is restarted. Each further firewalld event repeats the condition."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "An affected node sends encrypted overlay-network traffic in cleartext, exposing container traffic to observers on the network path between nodes. An attacker able to send UDP datagrams to the node\u0027s VXLAN port (by default, UDP port 4789) can inject arbitrary Ethernet frames into an encrypted overlay network. On releases with the fix for CVE-2026-92542, a process in the host network namespace with CAP_NET_RAW can also have its own VXLAN datagrams encrypted using the node\u0027s IPsec security associations. Traffic between affected nodes continues in cleartext, while nodes that retain their encryption rules discard cleartext datagrams from affected peers, disrupting communication without preventing the cleartext exposure."
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 7,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "LOW",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-693",
"description": "CWE-693: Protection Mechanism Failure",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-11-10T19:58:45.360Z",
"orgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"shortName": "Docker"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://github.com/moby/moby/security/advisories/GHSA-6jhp-7446-hf7f"
}
],
"title": "Docker Engine overlay-network encryption rules are not restored after a firewalld reload",
"workarounds": [
{
"lang": "en",
"value": "Configure firewalld to preserve other applications\u0027 iptables rules: use FirewallBackend=nftables with a build that includes commit b7faa74db15e2d1ebd9fdfcdc7579874d3a2fa87 (firewalld 2.0.0 or later, or the RHEL backports listed in configurations), and remove all firewalld direct configuration. Alternatively, restart dockerd after every firewalld reload, stop, or start to restore the encryption rules; this also restarts the node\u0027s Swarm tasks. As defense in depth, block incoming traffic to the VXLAN port (by default, UDP port 4789) at the Internet boundary. This prevents injection from outside the boundary but does not protect the confidentiality of traffic between nodes."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"assignerShortName": "Docker",
"cveId": "CVE-2026-115538",
"datePublished": "2026-11-10T19:58:45.360Z",
"dateReserved": "2026-10-22T19:45:01.367Z",
"dateUpdated": "2026-11-10T19:58:45.360Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-115538",
"date": "2026-11-14",
"epss": "0.00307",
"percentile": "0.23798"
},
"microsoft_vex": {
"current_release_date": "2026-11-13T14:52:27.000Z",
"cve": "CVE-2026-115538",
"id": "msrc_CVE-2026-115538",
"initial_release_date": "2026-11-13T01:09:32.000Z",
"product_status:known_affected": "2",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "Docker Engine overlay-network encryption rules are not restored after a firewalld reload",
"url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-115538.json",
"version": "2"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"platforms": [
"Linux"
],
"product": "Docker Engine",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.9.3",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"packageName": "github.com/moby/moby/v2",
"platforms": [
"Linux"
],
"product": "Moby",
"vendor": "Moby",
"versions": [
{
"lessThan": "v2.0.0-beta.29",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"source": "security@docker.com"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Moby\u0027s overlay network driver does not restore the iptables rules for encrypted overlay networks after firewalld deletes them. Unlike other Docker Engine networking components, the overlay driver does not handle firewalld reload or start signals over D-Bus. The missing rules cause outgoing VXLAN datagrams to bypass IPsec encryption and remove the protection against incoming cleartext VXLAN traffic. The condition is not logged by dockerd and persists until the encrypted network\u0027s last local endpoint is removed and another is added, or dockerd is restarted. Each further firewalld event repeats the condition."
}
],
"id": "CVE-2026-115538",
"lastModified": "2026-11-12T20:04:52.377",
"metrics": {
"cvssMetricV40": [
{
"cvssData": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"availabilityRequirement": "NOT_DEFINED",
"baseScore": 7.0,
"baseSeverity": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"exploitMaturity": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "LOW",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"source": "security@docker.com",
"type": "Secondary"
}
]
},
"published": "2026-11-10T20:18:03.747",
"references": [
{
"source": "security@docker.com",
"url": "https://github.com/moby/moby/security/advisories/GHSA-6jhp-7446-hf7f"
}
],
"sourceIdentifier": "security@docker.com",
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-693"
}
],
"source": "security@docker.com",
"type": "Secondary"
}
]
}
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.