IM
IronMonkey Threat Research

CVE-2024-50001 HIGH

Published: 2024-10-21 | Last Modified: 2026-08-04 | Status: Modified

Description

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix error path in multi-packet WQE transmit Remove the erroneous unmap in case no DMA mapping was established The multi-packet WQE transmit code attempts to obtain a DMA mapping for the skb. This could fail, e.g. under memory pressure, when the IOMMU driver just can't allocate more memory for page tables. While the code tries to handle this in the path below the err_unmap label it erroneously unmaps one entry from the sq's FIFO list of active mappings. Since the current map attempt failed this unmap is removing some random DMA mapping that might still be required. If the PCI function now presents that IOVA, the IOMMU may assumes a rogue DMA access and e.g. on s390 puts the PCI function in error state. The erroneous behavior was seen in a stress-test environment that created memory pressure.

Additional Descriptions (1)

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net/mlx5: Corregir ruta de error en transmisión WQE de paquetes múltiples Eliminar la desasignación errónea en caso de que no se haya establecido una asignación DMA El código de transmisión WQE de paquetes múltiples intenta obtener una asignación DMA para el skb. Esto podría fallar, por ejemplo, bajo presión de memoria, cuando el controlador IOMMU simplemente no puede asignar más memoria para las tablas de páginas. Si bien el código intenta manejar esto en la ruta debajo de la etiqueta err_unmap, desasigna erróneamente una entrada de la lista FIFO de asignaciones activas del sq. Dado que el intento de asignación actual falló, esta desasignación está eliminando alguna asignación DMA aleatoria que aún podría ser necesaria. Si la función PCI ahora presenta ese IOVA, el IOMMU puede asumir un acceso DMA no autorizado y, por ejemplo, en s390 pone la función PCI en estado de error. El comportamiento erróneo se observó en un entorno de prueba de estrés que creó presión de memoria.

CVSS Metrics

Base Score: 5.5 (MEDIUM)

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Attack VectorLOCAL
Attack ComplexityLOW
Privileges RequiredLOW
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactNONE
Integrity ImpactNONE
Availability ImpactHIGH

Source: [email protected]

Type: Primary

Exploitability Score: 1.8

Impact Score: 3.6

Weaknesses

Source Type Description
[email protected] Primary
en CWE-755

Affected Products

Vendor Product Version Update Type
linux linux_kernel * <built-in method update of dict object at 0x7fd36ad30180> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36b92cc40> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3406e3dc0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd2d83cd4c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36ad33940> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36ad335c0> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd384a810c0> Operating System

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*

References