Vulnerabilidad en kernel de Linux (CVE-2023-53026)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
27/03/2025
Última modificación:
15/04/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/core: Fix ib block iterator counter overflow Al registrar un nuevo DMA MR después de seleccionar el mejor tamaño de página alineado para él, iteramos sobre la sglist dada para dividir cada entrada en bloques DMA más pequeños, alineados con el tamaño de página seleccionado. En determinadas circunstancias en las que la entrada sg y el tamaño de página se ajustan a ciertos tamaños y la entrada sg no está alineada con el tamaño de página seleccionado, el tamaño total de las páginas alineadas que necesitamos para cubrir la entrada sg es >= 4 GB. En estas circunstancias, al iterar bloques alineados de página, el contador responsable de contar cuánto avanzamos desde el inicio de la entrada sg se desborda porque su tipo es u32 y pasamos 4 GB de tamaño. Esto puede llevar a un bucle infinito dentro de la función del iterador porque el desbordamiento impide que el contador sea mayor que el tamaño de la entrada sg. Solucione el problema presentado cambiando la condición de avance para eliminar el desbordamiento. Backtrace: [ 192.374329] efa_reg_user_mr_dmabuf [ 192.376783] efa_register_mr [ 192.382579] pgsz_bitmap 0xfffff000 rounddown 0x80000000 [ 192.386423] pg_sz [0x80000000] umem_length[0xc0000000] [ 192.392657] start 0x0 length 0xc0000000 params.page_shift 31 params.page_num 3 [ 192.399559] hp_cnt[3], pages_in_hp[524288] [ 192.403690] umem->sgt_append.sgt.nents[1] [ 192.407905] number entries: [1], pg_bit: [31] [ 192.411397] biter->__sg_nents [1] biter->__sg [0000000008b0c5d8] [ 192.415601] biter->__sg_advance [665837568] sg_dma_len[3221225472] [ 192.419823] biter->__sg_nents [1] biter->__sg [0000000008b0c5d8] [ 192.423976] biter->__sg_advance [2813321216] sg_dma_len[3221225472] [ 192.428243] biter->__sg_nents [1] biter->__sg [0000000008b0c5d8] [ 192.432397] biter->__sg_advance [665837568] sg_dma_len[3221225472]
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.2 (incluyendo) | 5.4.231 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.166 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.91 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.9 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0afec5e9cea732cb47014655685a2a47fb180c31
- https://git.kernel.org/stable/c/362c9489720b31b6aa7491423ba65a4e98aa9838
- https://git.kernel.org/stable/c/43811d07ea64366af8ec9e168c558ec51440c39e
- https://git.kernel.org/stable/c/902063a9fea5f8252df392ade746bc9cfd07a5ae
- https://git.kernel.org/stable/c/d66c1d4178c219b6e7d7a6f714e3e3656faccc36