qla2xxx: Use memset_io() to clear QLAFX00 request ring slot
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 7 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The qla2xxx SCSI driver in the Linux kernel cleared the QLAFX00 request ring slot with a plain memset(), although that ring is ioremapped device I/O memory. On ARM64, memset() may emit unaligned or block-zeroing instructions such as DC ZVA, which are invalid on device memory and can cause a synchronous external abort. Affected Linux kernel versions start at 3.10. Red Hat rates the issue Low, and CISA has not added it to KEV.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot For QLAFX00 the request ring is ioremapped device I/O memory (ha->iobase + req_que_off), not DMA-coherent RAM, which is why the rest of the FX00 path accesses it through memcpy_toio() and the wrt_reg_* helpers. __qla2x00_alloc_iocbs() however zeroed the producer slot with a plain memset(). On architectures such as ARM64 a regular memset() may emit unaligned or block-zeroing instructions (e.g. DC ZVA) that are invalid on Device memory, leading to a synchronous external abort. Use memset_io() to clear the slot for QLAFX00, matching the I/O accessors used elsewhere on this ring. Other adapters keep the plain memset() on their DMA-coherent rings. The zero-fill is retained for FX00 because its IOCB builders (e.g. qlafx00_fxdisc_iocb()) copy only part of the entry and rely on the unused tail being pre-zeroed.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Update the Linux kernel to one of the fixed versions: 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.112, 6.18.53, 7.2.7 or 7.3. The fix uses memset_io() to clear the QLAFX00 slot and keeps memset() for other adapters. Red Hat has no fix for Enterprise Linux 6 (no fix planned) or for Enterprise Linux 7, 8, 9 and 10 and OpenShift Container Platform 4 and 5 (none available).
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.112, 6.18.53, 7.2.7, 7.3
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-14 Threatist record created from CVE-2026-98386
- 2026-10-14 Alias added: GHSA-xqf4-fcfm-9wq2
- 2026-10-16 Affected versions changed · Red Hat
- 2026-10-16 CVSS score added · Red Hat
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-21 Fix available: Linux/Linux@2df8c8630904794100189fa3d70598642e1877ce, Linux/[email protected] · CNA
- 2026-10-21 1 new reference · CNA
- 2026-10-30 Fix available: Linux/Linux@0eca1d7a4dac793224e6e295e29e00245e96cf16, Linux/Linux@337026cf8149dcfedacd60d6d7081bff10ee5cd4, Linux/[email protected] +3 · CNA
- 2026-10-30 3 new references · CNA
- 2026-11-07 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/0eca1d7a4dac793224e6e295e29e00245e96cf16
- https://git.kernel.org/stable/c/337026cf8149dcfedacd60d6d7081bff10ee5cd4
- https://git.kernel.org/stable/c/6e8f1144d06cfd8cf8c346066efd8f572b28f768
- https://git.kernel.org/stable/c/2df8c8630904794100189fa3d70598642e1877ce
- https://git.kernel.org/stable/c/53eb96c244d150dfb8cc4b5b0492ab53755f3701
- https://git.kernel.org/stable/c/6ee6dfd922fafd508f6bde16de30dd2db796b7a7
- https://git.kernel.org/stable/c/e41d28d9a242c4005b7d01a7ee7769405a6a2c2e
- https://git.kernel.org/stable/c/626e44f3d8a924a97a3848a9fd45833947e081e9
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-98386 · CVE Program
- CVE-2026-98386 · NVD
- FIRST EPSS
- GHSA-xqf4-fcfm-9wq2 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98386 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences