Description
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 ]
Published: 2026-07-01
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a Rust the -Cforce‑unwind‑tables flag to module unannotated. When Linux kernel is built with this flag and the CONFIG_UNWIND_PATCH_PAC_INTO_SCS configuration option is enabled, the SCS boot patching routine attempts to patch Rust‑generated constructors with a paciasp instruction while leaving the autiasp instruction unchanged. the constructor’s DWARF information, resulting in a global‑out‑of‑bounds read that manifests as a kernel panic during early boot. The likely attack vector is a buggy compiler build; an attacker must provide or compile the kernel with the problematic flag, making this a denial‑of‑service vulnerability that prevents normal booting.

Affected Systems

Any Linux kernel compiled for arm64 that incorporates Rust modules with the -Cforce‑unwind‑tables flag and has CONFIG_UNWIND_PATCH_PAC_INTO_SCS enabled is impacted. The CVE does not list specific kernel releases, and the issue is tied to build configuration rather than a particular kernel version.

Risk and Exploitability

The EPSS score of <1% indicates a very not listed in CISA KEV. The flaw does not provide a runtime attack vector; it requires a buggy compiler build. Impact is significant only for systems built with the vulnerable compiler, as the kernel crashes during initialization, preventing normal operation. Overall risk to existing kernel deployments built with a patched compiler is low.

Generated by OpenCVE AI on July 21, 2026 at 14:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Rust compiler to version 1.98.0 or later so that the entire module receives the uwtable annotation when compiling kernel modules
  • Rebuild the kernel without using the -Cforce‑unwind‑tables flag for Rust modules, or disable that flag if it is not essential
  • Disable CONFIG_UNWIND_PATCH_PAC_INTO_SCS in the kernel configuration to avoid the boot patching conflict, then rebuild and test the kernel

Generated by OpenCVE AI on July 21, 2026 at 14:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 02 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-754

Thu, 02 Jul 2026 12:30:00 +0000


Thu, 02 Jul 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-754

Wed, 01 Jul 2026 23:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Wed, 01 Jul 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Wed, 01 Jul 2026 13:45:00 +0000

Type Values Removed Values Added
Description 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 ]
Title rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-01T13:32:25.668Z

Reserved: 2026-06-09T07:44:35.399Z

Link: CVE-2026-53346

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity :

Publid Date: 2026-07-01T00:00:00Z

Links: CVE-2026-53346 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-21T14:45:02Z

Weaknesses