Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98386

Опубликовано: 14 окт. 2026
Источник: redhat
CVSS3: 5.5
EPSS Низкий

Описание

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.

A flaw was found in the Linux kernel's qla2xxx storage driver. When preparing request queues for specific storage adapters, the driver improperly uses standard memory operations instead of dedicated device input/output (I/O) functions to zero memory. On certain processor architectures, such as ARM64, this can execute instructions that are invalid for device memory. Consequently, a local user initiating storage operations could trigger a kernel abort, causing the system to crash and leading to a Denial of Service (DoS).

Отчет

A low impact denial of service flaw was found in the Linux kernel's qla2xxx Fibre Channel driver. In __qla2x00_alloc_iocbs(), the request ring slot for QLAFX00 adapters resides in ioremapped device I/O memory, but was cleared with a plain memset() instead of the dedicated memset_io() accessor used elsewhere on this ring. On architectures such as ARM64, a regular memset() may emit unaligned or block-zeroing instructions (for example DC ZVA) that are invalid for Device memory, resulting in a synchronous external abort that crashes the kernel. A local user able to initiate storage operations through the affected adapter could use this flaw to cause a kernel crash and denial of service; there is no impact to confidentiality or integrity. Exploitation depends on an uncommon configuration, specifically an ARM64 host equipped with a QLAFX00 Fibre Channel adapter whose compiler-generated memset() emits instructions invalid for Device memory, which is why the flaw is rated low impact even though the Red Hat CVSS:3.1 base score is 5.5 (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H). The affected Red Hat products are the Red Hat Enterprise Linux kernel and kernel-rt, the Red Hat In-Vehicle OS kernels, and the OpenShift Container Platform RHEL CoreOS kernels. Because of the low impact and the narrow hardware and architecture configuration required to trigger the flaw, fixes for these products have been deferred to a future update; the residual risk is limited to a local kernel crash (denial of service) on hosts that combine an affected architecture with a QLAFX00 adapter. Red Hat Enterprise Linux 6 is out of support scope and is not scheduled to be fixed.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred
Red Hat Enterprise Linux 6kernelOut of support scope
Red Hat Enterprise Linux 7kernelFix deferred
Red Hat Enterprise Linux 7kernel-rtFix deferred
Red Hat Enterprise Linux 8kernelFix deferred
Red Hat Enterprise Linux 8kernel-rtFix deferred
Red Hat Enterprise Linux 9kernelFix deferred
Red Hat Enterprise Linux 9kernel-rtFix deferred
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Fix deferred
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Fix deferred

Показывать по

Дополнительная информация

Статус:

Low
Дефект:
CWE-474
https://bugzilla.redhat.com/show_bug.cgi?id=2552186kernel: scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot

EPSS

Процентиль: 12%
0.00216
Низкий

5.5 Medium

CVSS3

Связанные уязвимости

ubuntu
29 дней назад

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.

nvd
29 дней назад

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.

CVSS3: 4.7
msrc
27 дней назад

scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot

debian
29 дней назад

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

github
29 дней назад

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.

EPSS

Процентиль: 12%
0.00216
Низкий

5.5 Medium

CVSS3