CVE-2026-100081 (GCVE-0-2026-100081)
Vulnerability from cvelistv5 – Published: 2026-11-06 18:23 – Updated: 2026-11-10 16:57
VLAI
EPSS
VEX
Title
xen-netback: defer xenvif_mcast_addr_list_free()
Summary
In the Linux kernel, the following vulnerability has been resolved:
xen-netback: defer xenvif_mcast_addr_list_free()
In order for the function to legitimately avoid locking/RCU, it needs to
run after all TX/RX processing has finished/stopped: Lookups happen from
xenvif_start_xmit(), while adds/removes happen from xenvif_tx_action()
(called out of xenvif_poll()).
Move the call out of xenvif_disconnect_data() (the call to the function
from connect()'s error path doesn't require any cleaning up there), and
put it past the synchronization point in backend_disconnect().
This is XSA-527 / CVE-2026-100081.
Severity
7.8 (High)
Assigner
Linux
CNA
References
9 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
b17075d5c1988b83f840d272c795ac17d57ce804 , < 96e05a8ce243e2207704e2e7a6e7d1172730f515
(git)
Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 0e786123e46d08d2247ce93a5435e45ed9f4c5d1 (git) Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 990d123d9eaa3ac6c979eed245658676d65ce0db (git) Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 0d515c409033c8e2a645a781be3ca76ab825fc8c (git) Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < a6bb2f1fa62c56279bdcdadce28d1310c5e12b62 (git) Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 34f0f63dc6dc11895a17bb5672451b6b11622c99 (git) Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < fb38fc58acb26d74fe8f7b19621fafaae3c040ff (git) |
|
| Linux | Linux |
Affected:
4.11
Unaffected: 0 , < 4.11 (semver) Unaffected: 5.10.274 , ≤ 5.10.* (semver) Unaffected: 5.15.225 , ≤ 5.15.* (semver) Unaffected: 6.1.192 , ≤ 6.1.* (semver) Unaffected: 6.6.162 , ≤ 6.6.* (semver) Unaffected: 6.12.116 , ≤ 6.12.* (semver) Unaffected: 6.18.62 , ≤ 6.18.* (semver) Unaffected: 7.3.3 , ≤ 7.3.* (semver) |
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2026-11-06T19:08:43.050Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "http://www.openwall.com/lists/oss-security/2026/11/06/10"
},
{
"url": "http://xenbits.xen.org/xsa/advisory-527.html"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/xen-netback/interface.c",
"drivers/net/xen-netback/xenbus.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "96e05a8ce243e2207704e2e7a6e7d1172730f515",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "0e786123e46d08d2247ce93a5435e45ed9f4c5d1",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "990d123d9eaa3ac6c979eed245658676d65ce0db",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "0d515c409033c8e2a645a781be3ca76ab825fc8c",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "a6bb2f1fa62c56279bdcdadce28d1310c5e12b62",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "34f0f63dc6dc11895a17bb5672451b6b11622c99",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
},
{
"lessThan": "fb38fc58acb26d74fe8f7b19621fafaae3c040ff",
"status": "affected",
"version": "b17075d5c1988b83f840d272c795ac17d57ce804",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/xen-netback/interface.c",
"drivers/net/xen-netback/xenbus.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.11"
},
{
"lessThan": "4.11",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.274",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.225",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.192",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.162",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.116",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.62",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.3.*",
"status": "unaffected",
"version": "7.3.3",
"versionType": "semver"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.274",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.225",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.192",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.162",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.116",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.62",
"versionStartIncluding": "4.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3.3",
"versionStartIncluding": "4.11",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen-netback: defer xenvif_mcast_addr_list_free()\n\nIn order for the function to legitimately avoid locking/RCU, it needs to\nrun after all TX/RX processing has finished/stopped: Lookups happen from\nxenvif_start_xmit(), while adds/removes happen from xenvif_tx_action()\n(called out of xenvif_poll()).\n\nMove the call out of xenvif_disconnect_data() (the call to the function\nfrom connect()\u0027s error path doesn\u0027t require any cleaning up there), and\nput it past the synchronization point in backend_disconnect().\n\nThis is XSA-527 / CVE-2026-100081."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The guest reaches the free by changing xenbus state: frontend_changed() calls set_backend_state(), which from XenbusStateConnected calls backend_disconnect() and xenvif_disconnect_data(), where xenvif_mcast_addr_list_free() ran before synchronize_net(). The raced lookup is xenvif_mcast_match() inside xenvif_start_xmit(); the trigger is that xenbus write, not a routable packet field.\nAC:H - xenvif_mcast_match() runs only when xenvif_start_xmit() has already seen VIF_STATUS_CONNECTED and a live queue-\u003etask, but xenvif_mcast_addr_list_free() runs only after xenvif_carrier_off() clears that bit and xenvif_disconnect_queue() returns from kthread_stop(). The lookup does not sleep, so it must be stalled across that teardown; MCAST_ADD plus Closing does not create that stall, and napi_disable() has already finished xenvif_tx_action().\nPR:L - frontend_changed() is the vif backend otherend_changed callback and accepts any connected frontend. The attacker must control that guest\u0027s xenstore frontend state and TX ring, i.e. the guest kernel; a host user namespace has no path to this xenbus backend.\nUI:N - The guest writes its own request-multicast-control key, queues XEN_NETIF_EXTRA_TYPE_MCAST_ADD on the TX ring, and sets the frontend xenbus state to Closing. The host operator does not have to mount media, open a device, or acknowledge a prompt.\nS:C - The use-after-free is in dom0 xen-netback: xenvif_mcast_match() dereferences vif-\u003efe_mcast_addr nodes freed by xenvif_mcast_addr_list_free(). A guest that wins the race crashes or corrupts that backend kernel, crossing the Xen guest-to-host boundary.\nC:H - xenvif_mcast_match() walks fe_mcast_addr under rcu_read_lock() via list_for_each_entry_rcu() and ether_addr_equal() on mcast-\u003eaddr, while xenvif_mcast_addr_list_free() kfree()s those xenvif_mcast_addr nodes with no grace period. A reused node lets the walk follow next pointers into other kernel memory.\nI:H - The freed objects are slab allocations from kzalloc_obj() in xenvif_mcast_add(). xenvif_mcast_match() can still dereference them after kfree() in xenvif_mcast_addr_list_free(), a heap use-after-free in the backend rather than a NULL deref, and XSA-527 treats host privilege escalation from that race as possible.\nA:H - A list walk in xenvif_mcast_match() that follows an fe_mcast_addr node already passed to kfree() by xenvif_mcast_addr_list_free() oopses the backend kernel. XSA-527 describes that fault as a driver crash that can take down the host."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-11-10T16:57:39.730Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/96e05a8ce243e2207704e2e7a6e7d1172730f515"
},
{
"url": "https://git.kernel.org/stable/c/0e786123e46d08d2247ce93a5435e45ed9f4c5d1"
},
{
"url": "https://git.kernel.org/stable/c/990d123d9eaa3ac6c979eed245658676d65ce0db"
},
{
"url": "https://git.kernel.org/stable/c/0d515c409033c8e2a645a781be3ca76ab825fc8c"
},
{
"url": "https://git.kernel.org/stable/c/a6bb2f1fa62c56279bdcdadce28d1310c5e12b62"
},
{
"url": "https://git.kernel.org/stable/c/34f0f63dc6dc11895a17bb5672451b6b11622c99"
},
{
"url": "https://git.kernel.org/stable/c/fb38fc58acb26d74fe8f7b19621fafaae3c040ff"
}
],
"title": "xen-netback: defer xenvif_mcast_addr_list_free()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-100081",
"datePublished": "2026-11-06T18:23:02.185Z",
"dateReserved": "2026-09-25T10:25:14.456Z",
"dateUpdated": "2026-11-10T16:57:39.730Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
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.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
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
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
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.
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.
Loading…
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.