CVE-2026-46022

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

En bref

Sévérité
Non disponible
EPSS
EPSS 0.15 % · centile 4 (2026-10-27)
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Modified

Description

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.

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1HIGH 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HNVD · nvd@nist.gov (Primary)

Faiblesses (CWE)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < 6f6ecc9153df176e956d0664b56f93080b0a45f0 ; affected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < bac8643486f854dd53af9b23aea7dbbd9b7c1865 ; affected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < f7e5b4eefd7be3e09f8bd5fee63ed478fd7446ab ; affected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < fc7e9a74e32299d7e93e178ca482a0b59ef1595b ; affected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < 07c4f18b303106e6b24492c12b95d48a4b985841 ; affected 278d72ae8803ffcd16070c95fe1d53f4466dc741 < 22a16d3eafee92a165c756081587c95850127107
Linux · Linuxaffected 2.6.13 ; unaffected 0 < 2.6.13 ; unaffected 5.10.258 ≤ 5.10.* ; unaffected 5.15.209 ≤ 5.15.* ; unaffected 6.1.175 ≤ 6.1.* ; unaffected 6.6.140 ≤ 6.6.*

Références

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD