CVE-2026-74364 (GCVE-0-2026-74364)
Vulnerability from cvelistv5
Published
2026-08-15 05:58
Modified
2026-08-17 05:46
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject exclusive maps as inner maps in map-in-map
An exclusive map (created with excl_prog_hash) is bound to a single
program by hash: check_map_prog_compatibility() refuses to load any
program whose digest does not match map->excl_prog_sha. That check
only runs for maps a program references directly, i.e. its used_maps.
A map reached at runtime through a map-of-maps is never in used_maps,
and bpf_map_meta_equal() does not consider excl_prog_sha, so an
exclusive map can be inserted into a non-exclusive outer map and
then looked up and mutated by an unrelated program, bypassing the
exclusivity guarantee.
For the signed loader this defeats the metadata map exclusivity check
added in the signed loader: the cached map->sha[] is validated against
the signed hash while another program on a hostile host rewrites the
frozen map's contents through the outer map.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"kernel/bpf/map_in_map.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "3a0f73d27a8d379a8852a378b3c3208143e3b3b2",
"status": "affected",
"version": "baefdbdf6812e120c9fba9cfb101d3656f478026",
"versionType": "git"
},
{
"lessThan": "7c58ace08f180f8e249e714d1623388362f9d807",
"status": "affected",
"version": "baefdbdf6812e120c9fba9cfb101d3656f478026",
"versionType": "git"
},
{
"lessThan": "9a3c3c49c333760c8944dadacbe114c1884546ef",
"status": "affected",
"version": "baefdbdf6812e120c9fba9cfb101d3656f478026",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"kernel/bpf/map_in_map.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.18"
},
{
"lessThan": "6.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.40",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.40",
"versionStartIncluding": "6.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.5",
"versionStartIncluding": "6.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.18",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reject exclusive maps as inner maps in map-in-map\n\nAn exclusive map (created with excl_prog_hash) is bound to a single\nprogram by hash: check_map_prog_compatibility() refuses to load any\nprogram whose digest does not match map-\u003eexcl_prog_sha. That check\nonly runs for maps a program references directly, i.e. its used_maps.\nA map reached at runtime through a map-of-maps is never in used_maps,\nand bpf_map_meta_equal() does not consider excl_prog_sha, so an\nexclusive map can be inserted into a non-exclusive outer map and\nthen looked up and mutated by an unrelated program, bypassing the\nexclusivity guarantee.\n\nFor the signed loader this defeats the metadata map exclusivity check\nadded in the signed loader: the cached map-\u003esha[] is validated against\nthe signed hash while another program on a hostile host rewrites the\nfrozen map\u0027s contents through the outer map."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The flaw is reached only through bpf(2) syscalls (BPF_MAP_CREATE, BPF_MAP_UPDATE_ELEM, BPF_PROG_LOAD) and runtime BPF helpers on map-in-map structures, which per kernel guidance is a local attack vector.\nAC:L - Exploitation is a reliable, attacker-controlled sequence (create outer map-of-maps, insert exclusive inner map FD, load program referencing only outer map, lookup/mutate inner map) with no races or layout dependencies.\nPR:L - Triggering the vulnerable map-in-map paths requires local BPF privileges (typically CAP_BPF); per kernel guidance this is Low because CAP_BPF can be obtained by unprivileged users via user namespaces, not only init-namespace root.\nUI:N - No victim interaction is required; a local attacker with BPF access can create the outer map, insert the exclusive inner map, and mutate it through an unrelated loaded program without actions by other users.\nS:U - The impact is bypass of BPF exclusive-map and signed-loader integrity controls within the kernel BPF subsystem, not crossing a VM, container-to-host, or IOMMU security boundary.\nC:H - An unrelated BPF program can bpf_map_lookup_elem() an exclusive inner map via map-in-map indirection and read its full contents, including signed metadata and hashes that must remain confidential to unauthorized programs.\nI:H - The same indirection allows bpf_map_update_elem() on an exclusive map bound to a different program digest, defeating exclusivity and enabling rewrite of signed-loader metadata (map-\u003esha[]) and other protected map state.\nA:N - This is an access-control bypass without memory corruption, use-after-free, or kernel panic; exploitation does not inherently cause crashes, hangs, or denial of kernel availability."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:46:23.107Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/3a0f73d27a8d379a8852a378b3c3208143e3b3b2"
},
{
"url": "https://git.kernel.org/stable/c/7c58ace08f180f8e249e714d1623388362f9d807"
},
{
"url": "https://git.kernel.org/stable/c/9a3c3c49c333760c8944dadacbe114c1884546ef"
}
],
"title": "bpf: Reject exclusive maps as inner maps in map-in-map",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74364",
"datePublished": "2026-08-15T05:58:46.926Z",
"dateReserved": "2026-08-15T05:44:03.887Z",
"dateUpdated": "2026-08-17T05:46:23.107Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…