← All Advisories
Reported from OT-Advisories.com as of

Linux Kernel kernel performance subsystem Out-Of-Bounds Read Rated 7.1 CVSS

Last refreshed2026-10-15

Status: UPDATED  |  Advisory ID: CVE-2026-46022

Key Details

CVECVE-2026-46022
CVSS Score / Version
7.1 (High) / CVSS v3.1
Updated2026-10-15
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS Prose
attack vector is local; attack complexity is low; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is none; availability impact is high.
Affected products
Linux Kernel and Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem
Classified as
CWE-125 (Out-of-bounds Read)
Exploitation prediction (EPSS)
0.17% probability of exploitation in the next 30 days (6% percentile) -- FIRST.org's EPSS model.

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SiemensSIMATIC S7-1500 TM MFP - GNU/Linux subsystem
SubsystemsControllers & Field I/O, OT Supporting Infrastructure
SectorsAll Sectors

What to Know

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

misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt()

ibmasm_handle_mouse_interrupt() performs an out-of-bounds MMIO read

when the queue reader or writer index from hardware exceeds

REMOTE_QUEUE_SIZE (60).

A compromised service processor can trigger this by writing an

out-of-range value to the reader or writer MMIO register before

asserting an interrupt. Since writer is re-read from hardware on

every loop iteration, it can also be set to an out-of-range value

after the loop has already started.

The root cause is that get_queue_reader() and get_queue_writer() return

raw readl() values that are passed directly into get_queue_entry(),

which computes:

queue_begin + reader * sizeof(struct remote_input)

with no bounds check. This unchecked MMIO address is then passed to

memcpy_fromio(), reading 8 bytes from unintended device registers.

For sufficiently large values the address falls outside the PCI BAR

mapping entirely, triggering a machine check exception.

Fix by checking both indices against REMOTE_QUEUE_SIZE at the top of

the loop body, before any call to get_queue_entry(). On an out-of-range

value, reset the reader register to 0 via set_queue_reader() before

breaking, so that normal queue operation can resume if the corrupted

hardware state is transient. (NVD)

What to Do

Monitor Linux's and Siemens's web pages for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-46022
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-46022
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.