Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-44933)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787 Escritura fuera de límites
Fecha de publicación:
26/08/2024
Última modificación:
27/08/2024

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: bnxt_en: corrige la memoria fuera de los límites en bnxt_fill_hw_rss_tbl() Una confirmación reciente modificó el código en __bnxt_reserve_rings() para configurar la tabla de direccionamiento indirecto RSS predeterminada solo cuando el número de Los anillos RX están cambiando. Si bien esto funciona para firmware más nuevo que requiere reservas de anillo RX, provoca la regresión en firmware más antiguo que no requiere reservas de anillo RX (BNXT_NEW_RM() devuelve falso). Con firmware anterior, no se requieren reservas de anillo RX y, por lo tanto, hw_resc->resv_rx_rings no siempre está configurado en el valor adecuado. La comparación: if (old_rx_rings != bp->hw_resc.resv_rx_rings) en __bnxt_reserve_rings() puede ser falso incluso cuando los anillos RX están cambiando. Esto hará que __bnxt_reserve_rings() omita la configuración de la tabla de direccionamiento indirecto RSS predeterminada para que coincida con el número actual de anillos RX. Posteriormente, esto puede provocar que bnxt_fill_hw_rss_tbl() utilice un índice fuera de rango. Ya tenemos bnxt_check_rss_tbl_no_rmgr() para manejar exactamente este escenario. Solo necesitamos moverlo hacia arriba en bnxt_need_reserve_rings() para que se llame incondicionalmente cuando usemos firmware anterior. Sin la solución, si los anillos TX están cambiando, omitiremos la llamada a bnxt_check_rss_tbl_no_rmgr() y __bnxt_reserve_rings() también puede omitir la llamada a bnxt_set_dflt_rss_indir_tbl() por el motivo explicado en el último párrafo. Sin configurar la tabla de direccionamiento indirecto RSS predeterminada, se produce la regresión: ERROR: KASAN: slab-out-of-bounds in __bnxt_hwrm_vnic_set_rss+0xb79/0xe40 Lectura de tamaño 2 en la dirección ffff8881c5809618 mediante la tarea ethtool/31525 Call Trace: __bnxt_hwrm_vnic_set_rss+0 xb79 /0xe40 bnxt_hwrm_vnic_rss_cfg_p5+0xf7/0x460 __bnxt_setup_vnic_p5+0x12e/0x270 __bnxt_open_nic+0x2262/0x2f30 bnxt_open_nic+0x5d/0xf0 ethnl_set_channels+0x5d4/0 xb30 ethnl_default_set_doit+0x2f1/0x620

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:6.10.4:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*