Bug 2559672 (CVE-2026-98938) - CVE-2026-98938 kernel: kernel: Denial of Service via uninitialized memory read in Rust IRQ registration
Summary: CVE-2026-98938 kernel: kernel: Denial of Service via uninitialized memory rea...
Keywords:
Status: NEW
Alias: CVE-2026-98938
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-23 12:58 UTC by OSIDB Bzimport
Modified: 2026-10-27 19:19 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-23 12:58:23 UTC
In the Linux kernel, the following vulnerability has been resolved:

rust: irq: pass RegistrationInner as cookie to request_irq

With commit ba268514ea14 ("rust: devres: fix race condition due to
nesting"), Devres::new() returns Result<Self> by value instead of
initializing in-place via PinInit. Because request_irq() is called
inside Devres::new(), registration.inner is still uninitialized when the
IRQ is enabled, so accessing registration.inner.device() in the IRQ
callback can read uninitialized memory.

Fix this by storing the Device and handler pointer in RegistrationInner
and passing RegistrationInner as the IRQ cookie after its fields are
initialized.

This is not needed in mainline because commit 98c63ce4d760 ("rust: irq:
make Registration compatible with lifetime-bound drivers") removed
Devres from irq::Registration and moved request_irq() after all fields
are initialized.


Note You need to log in before you can comment on or make changes to this bug.