Skip to main content
VulnerabilityPublished Updated

CVE-2026-23316: Linux kernel · net: ipv4: fix ARM64 alignment fault in multipath hash seed

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in 607e923a3c1b2120de430b3dcde25ed8ad213c0a : update Linux kernel when convenient.

Data as of 5 Nov 2026, 21:49 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-05.

Patch
Available – fixed in 607e923a3c1b2120de430b3dcde25ed8ad213c0a, 7e4ad34a8889a6a9e0f6cc7c55d02161fe31a199, 4ee7fa6cf78ff26d783d39e2949d14c4c1cd5e7f +1

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Mar 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade Linux kernel to 607e923a3c1b2120de430b3dcde25ed8ad213c0a, 7e4ad34a8889a6a9e0f6cc7c55d02161fe31a199, 4ee7fa6cf78ff26d783d39e2949d14c4c1cd5e7f or 4bdc94d45d5459f0149085dfc1efe733c8e14f11.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 4ee2a8cace3fb9a34aea6a56426f89d26dd514f3, < 607e923a3c1b2120de430b3dcde25ed8ad213c0a
Fixed in
  • 607e923a3c1b2120de430b3dcde25ed8ad213c0a
LinuxLinuxAffected
  • ≥ 4ee2a8cace3fb9a34aea6a56426f89d26dd514f3, < 7e4ad34a8889a6a9e0f6cc7c55d02161fe31a199
Fixed in
  • 7e4ad34a8889a6a9e0f6cc7c55d02161fe31a199
LinuxLinuxAffected
  • ≥ 4ee2a8cace3fb9a34aea6a56426f89d26dd514f3, < 4ee7fa6cf78ff26d783d39e2949d14c4c1cd5e7f
Fixed in
  • 4ee7fa6cf78ff26d783d39e2949d14c4c1cd5e7f
LinuxLinuxAffected
  • ≥ 4ee2a8cace3fb9a34aea6a56426f89d26dd514f3, < 4bdc94d45d5459f0149085dfc1efe733c8e14f11
Fixed in
  • 4bdc94d45d5459f0149085dfc1efe733c8e14f11
LinuxLinuxAffected
  • =6.11
Fixed in–

Description

In the Linux kernel, the following vulnerability has been resolved: net: ipv4: fix ARM64 alignment fault in multipath hash seed `struct sysctl_fib_multipath_hash_seed` contains two u32 fields (user_seed and mp_seed), making it an 8-byte structure with a 4-byte alignment requirement. In `fib_multipath_hash_from_keys()`, the code evaluates the entire struct atomically via `READ_ONCE()`: mp_seed = READ_ONCE(net->ipv4.sysctl_fib_multipath_hash_seed).mp_seed; While this silently works on GCC by falling back to unaligned regular loads which the ARM64 kernel tolerates, it causes a fatal kernel panic when compiled with Clang and LTO enabled. Commit e35123d83ee3 ("arm64: lto: Strengthen READ_ONCE() to acquire when CONFIG_LTO=y") strengthens `READ_ONCE()` to use Load-Acquire instructions (`ldar` / `ldapr`) to prevent compiler reordering bugs under Clang LTO. Since the macro evaluates the full 8-byte struct, Clang emits a 64-bit `ldar` instruction. ARM64 architecture strictly requires `ldar` to be naturally aligned, thus executing it on a 4-byte aligned address triggers a strict Alignment Fault (FSC = 0x21). Fix the read side by moving the `READ_ONCE()` directly to the `u32` member, which emits a safe 32-bit `ldar Wn`. Furthermore, Eric Dumazet pointed out that `WRITE_ONCE()` on the entire struct in `proc_fib_multipath_hash_set_seed()` is also flawed. Analysis shows that Clang splits this 8-byte write into two separate 32-bit `str` instructions. While this avoids an alignment fault, it destroys atomicity and exposes a tear-write vulnerability. Fix this by explicitly splitting the write into two 32-bit `WRITE_ONCE()` operations. Finally, add the missing `READ_ONCE()` when reading `user_seed` in `proc_fib_multipath_hash_seed()` to ensure proper pairing and concurrency safety.

References

Community reviews

Loading reviews…