Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-23316— net: ipv4: fix ARM64 alignment fault in multipath hash seed

EPSS 0.01% · P3
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-23316

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: ipv4: fix ARM64 alignment fault in multipath hash seed
Source: NVD (National Vulnerability Database)
Vulnerability 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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未对齐的原子读取,可能导致ARM64对齐故障和内核崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 4ee2a8cace3fb9a34aea6a56426f89d26dd514f3 ~ 4bdc94d45d5459f0149085dfc1efe733c8e14f11 -
LinuxLinux 6.11 -

II. Public POCs for CVE-2026-23316

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-23316

登录查看更多情报信息。

Same Patch Batch · Linux · 2026-03-25 · 116 CVEs total

CVE-2026-233958.8 HIGHBluetooth: L2CAP: Fix accepting multiple L2CAP_ECRED_CONN_REQ
CVE-2026-317888.2 HIGHxen/privcmd: restrict usage in unprivileged domU
CVE-2026-232807.8 HIGHaccel/amdxdna: Prevent ubuf size overflow
CVE-2026-233177.8 HIGHdrm/vmwgfx: Return the correct value in vmw_translate_ptr functions
CVE-2026-233937.8 HIGHbridge: cfm: Fix race condition in peer_mep deletion
CVE-2026-233927.8 HIGHnetfilter: nf_tables: release flowtable after rcu grace period on error
CVE-2026-233917.8 HIGHnetfilter: xt_CT: drop pending enqueued packets on template removal
CVE-2026-233407.8 HIGHnet: sched: avoid qdisc_reset_all_tx_gt() vs dequeue race for lockless qdiscs
CVE-2026-233067.8 HIGHscsi: pm8001: Fix use-after-free in pm8001_queue_command()
CVE-2026-233727.8 HIGHnfc: rawsock: cancel tx_work before socket teardown
CVE-2026-232887.8 HIGHaccel/amdxdna: Fix out-of-bounds memset in command slot handling
CVE-2026-233787.8 HIGHnet/sched: act_ife: Fix metalist update behavior
CVE-2026-233367.8 HIGHwifi: cfg80211: cancel rfkill_block work in wiphy_unregister()
CVE-2026-233517.8 HIGHnetfilter: nft_set_pipapo: split gc into unlink and reclaim phase
CVE-2026-233837.8 HIGHbpf, arm64: Force 8-byte alignment for JIT buffer to prevent atomic tearing
CVE-2026-233507.8 HIGHdrm/xe/queue: Call fini on exec queue creation fail
CVE-2026-233647.4 HIGHksmbd: Compare MACs in constant time
CVE-2026-232947.0 HIGHbpf: Fix race in devmap on PREEMPT_RT
CVE-2026-23358drm/amdgpu: Fix error handling in slot reset
CVE-2026-23357can: mcp251x: fix deadlock in error path of mcp251x_open

Showing top 20 of 116 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2026-23316

No comments yet


Leave a comment