CVE-2026-64579

CVE-2026-64579

published August 5, 2026

CVSS
—
EPSS
0%
Percentile
6.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

xfrm: policy: preallocate inexact bins before xfrm_hash_rebuild reinsert

xfrm_hash_rebuild()'s first loop preallocates the bins/chains the reinsert

loop needs, so the reinsert (after hlist_del_rcu()) cannot allocate or

fail. But its guard is inverted: it skips policies with prefixlen <

threshold and preallocates for the rest.

prefixlen < threshold is exactly when policy_hash_bysel() returns NULL and

the reinsert takes the allocating xfrm_policy_inexact_insert() path. So the

loop preallocates for the exact policies (which never allocate) and skips

the inexact ones, whose bin/node is then allocated GFP_ATOMIC during

reinsert. On failure the error path only WARN_ONCE()s and continues,

leaving a poisoned bydst node; the next rebuild's hlist_del_rcu()

dereferences LIST_POISON2 and takes a GPF. Reachable under memory pressure,

deterministic via failslab.

Invert the guard so preallocation covers exactly the reinserted policies;

the reinsert then allocates nothing and cannot fail.

Crash:

Oops: general protection fault, probably for non-canonical address

0xfbd59c0000000024: 0000 [#1] SMP KASAN NOPTI

KASAN: maybe wild-memory-access in range [0xdead...]

...

Workqueue: events xfrm_hash_rebuild

RIP: 0010:xfrm_hash_rebuild+0x5b3/0x1190

RAX: dead000000000122 (LIST_POISON2 + offset)

...

Call Trace:

hlist_del_rcu (include/linux/rculist.h:599)

xfrm_hash_rebuild (net/xfrm/xfrm_policy.c:1365)

process_one_work (kernel/workqueue.c:3322)

worker_thread (kernel/workqueue.c:3486)

kthread (kernel/kthread.c:436)

ret_from_fork (arch/x86/kernel/process.c:158)

ret_from_fork_asm (arch/x86/entry/entry_64.S:245)

...

Kernel panic - not syncing: Fatal exception in interrupt

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00171 · 6.1th percentile
Published
2026-08-05T12:16Z
References (8)
EPSS history
Timeline
  • 05 AUG 08:09Z
    xfrm: policy: preallocate inexact bins before xfrm_hash_rebuild reinsert
    cvelistv5