data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-74364 in the interactive tracker

CVE-2026-74364

bpf: Reject exclusive maps as inner maps in map-in-map

7.1 EPSS 0.2% AV:L

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem kernel/bpf. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-74364 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormnot affected6.1.190-1Nothing to do. bookworm never shipped the vulnerable code.
Debian 13trixienot affected6.12.113-1Nothing to do. trixie never shipped the vulnerable code.
Debian 14forkyfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

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.

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

kernel/bpf/map_in_map.c

What this is
BPF [GENERAL] (Safe Dynamic Programs and Tools)MAINTAINERS section matched on kernel/bpf/ · bpf@vger.kernel.org · Supported

Check it on the machine

grep -wE 'CONFIG_BPF|CONFIG_BPF_SYSCALL' /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

Show whether Debian builds this, per release

Debian builds this code. Every release below compiles the affected file into the kernels it ships.

  • bookworm, trixie, forky, sidy
y
built into the kernel image on every flavour - only a patch removes it
Build switches
CONFIG_BPF, CONFIG_BPF_SYSCALL
Reads as
all on means the file is compiled; any one off means it is not.

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-08-15 (2 months ago)source
CVSS
7.1 high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Nsource recompute it
Attack vector
local (AV:L)source
EPSS
0.18%, higher than 7.1% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
kernel/bpf

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
6.186.18.403a0f73d27a8d
6.187.1.57c58ace08f18
6.187.29a3c3c49c333

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:LAttack vector, local
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.
AC:LAttack complexity, low
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.
PR:LPrivileges required, low
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.
UI:NUser interaction, none
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.
S:UScope, unchanged
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.
C:HConfidentiality impact, high
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.
I:HIntegrity impact, high
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->sha[]) and other protected map state.
A:NAvailability impact, none
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.