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

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

CVE-2026-74567

keys: fix out-of-bounds read in keyring_get_key_chunk()

7.1 EPSS 0.1% AV:L

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem security/keys. Debian urgency: not yet assigned.

What to do, per Debian release

Debian's own status for CVE-2026-74567 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 12bookwormfixedDLA-4777-1 · 2026-09-08 · text6.1.187-1Update the kernel and reboot. DLA-4777-1 shipped the fix on 2026-09-08, in 6.1.187-1. A running kernel keeps the old code until the machine restarts.
Debian 13trixiefixedDSA-6466-1 · 2026-08-25 · text6.12.105-1Update the kernel and reboot. DSA-6466-1 shipped the fix on 2026-08-25, in 6.12.105-1. A running kernel keeps the old code until the machine restarts.
Debian 14forkyfixed7.1.8-1Update the kernel and reboot. Fixed in 7.1.8-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.8-1Update the kernel and reboot. Fixed in 7.1.8-1. A running kernel keeps the old code until the machine restarts.
Debian 12bookworm · linux-6.12fixedDLA-4788-1 · 2026-09-19 · text6.12.107-1~deb12u1Update the kernel and reboot. DLA-4788-1 shipped the fix on 2026-09-19, in 6.12.107-1~deb12u1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

For description-level chunks keyring_get_key_chunk() advances the read pointer by level * sizeof(long) past the inline prefix but only bounds-checks the prefix, so a long enough key description is read past its kmemdup(desc, desc_len + 1) allocation. Compute the full byte offset and bounds-check the description against it before reading. The walk only reaches a description-level chunk when two keys collide through the hash, x, type and domain_tag chunks, so this is reached from an unprivileged add_key(2) with a crafted pair of same-type keys whose index hashes collide; KASAN reports a slab-out-of-bounds read.

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.

security/keys/keyring.c

What this is
KEYS/KEYRINGSMAINTAINERS section matched on security/keys/ · keyrings@vger.kernel.org · Maintained

Check it on the machine

grep -w CONFIG_KEYS /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, sid, bookworm · linux-6.12y
y
built into the kernel image on every flavour - only a patch removes it
Build switch
CONFIG_KEYS

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:N/A:Hsource recompute it
Attack vector
local (AV:L)source
EPSS
0.12%, higher than 1.6% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
not yet assignedsource
Subsystem
security/keys

Upstream fixes

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

IntroducedFixed inCommit
5.35.10.2654c0c26f751e5
5.35.15.21679916f40d4ab
5.36.1.183e5b01998cef8
5.36.6.151d1933e03e8c7
5.36.12.1033a744838453f
5.36.18.44e9417d21a22a
5.37.1.88dba33c1e779
5.37.263918731f9ae

Debian advisories

AdvisoryDateShipped toDebian
DLA-4788-12026-09-19bookworm 6.12.107-1~deb12u1tracker
DLA-4777-12026-09-08bookworm 6.1.187-1tracker
DSA-6466-12026-08-25trixie 6.12.105-1tracker

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 local key-management syscalls (add_key, keyctl link/search) that walk the keyring assoc_array in security/keys/keyring.c; the keys subsystem has no network-facing handler or remote packet path.
AC:LAttack complexity, low
An attacker fully controls both key descriptions and can offline-compute a same-type pair whose index collides through hash, x, type and domain_tag yet differs later, deterministically forcing description-level chunks without races or uncontrollable layout.
PR:LPrivileges required, low
The fix commit and add_key path confirm any unprivileged local user can add crafted keys to their own session/user keyring (lookup_user_key with KEY_NEED_WRITE); no real-root capability or init-namespace privilege is required.
UI:NUser interaction, none
Exploitation is self-contained: the attacker issues add_key twice with crafted colliding descriptions into a writable keyring they own; no action by another user or administrator is required.
S:UScope, unchanged
The out-of-bounds slab read and any disclosed data remain within the host kernel's security authority; this is standard local kernel memory access, not a VM escape, IOMMU bypass, or sandbox boundary crossing.
C:HConfidentiality impact, high
keyring_get_key_chunk() reads up to a word past the kmemdup(desc,desc_len+1) allocation when the offset includes level*sizeof(long), yielding an adjacent-heap read primitive that can disclose kernel pointers and other sensitive slab contents.
I:NIntegrity impact, none
This is a read-only out-of-bounds access with no kernel memory write, type confusion, or control-flow hijack; the bug discloses data but does not directly modify kernel or victim integrity.
A:HAvailability impact, high
KASAN reports slab-out-of-bounds on trigger, and reading beyond the description allocation can fault at slab/page boundaries; the add_key insertion path is trivially repeatable for denial-of-service.