CVE-2026-53346

rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES

published July 1, 2026

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

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

rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES

Due to a rustc bug [1] the -Cforce-unwind-tables=y flag only emits the

uwtable annotation for functions, but not for the module. This means

that compiler-generated functions such as 'asan.module_ctor' do not

receive the uwtable annotation.

When CONFIG_UNWIND_PATCH_PAC_INTO_SCS is enabled, this leads to boot

failures because the dwarf information emitted for the kasan

constructors is wrong, which causes the SCS boot patching code to

patch the constructor in an illegal manner. Specifically, the paciasp

instruction is patched, but the autiasp instruction is not. This

mismatch leads to a crash when the constructor is called during boot.

==================================================================

BUG: KASAN: global-out-of-bounds in do_basic_setup+0x4c/0x90

Read of size 8 at addr ffffffe3cc7eb488 by task swapper/0/1

Specifically the faulting instruction is the (*fn)() to invoke the

constructor in do_ctors() of the init/main.c file.

Once the fix lands in rustc, this flag can be made conditional on the

rustc version. Note that passing the flag on a rustc with the fix

present has no effect.

[ The fix [1] has landed for Rust 1.98.0 (expected release on

2026-08-20).

Thus add a version check as discussed.

- Miguel ]

[ Adjusted link and comment. - Miguel ]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00128 · 2.2th percentile
Published
2026-07-01T13:32Z
EPSS history
Timeline
  • 01 JUL 13:32Z
    rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES
    cvelistv5