Vulnerabilidad en Linux (CVE-2025-71087)
Fecha de publicación:
13/01/2026
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
iavf: corrige problemas de &#39;off-by-one&#39; en iavf_config_rss_reg()<br />
<br />
Existen errores de &#39;off-by-one&#39; al configurar la clave hash RSS y la tabla de búsqueda, causando lecturas fuera de límites a la memoria [1] y escrituras fuera de límites a los registros del dispositivo.<br />
<br />
Antes del commit 43a3d9ba34c9 (&#39;i40evf: Permitir al controlador PF configurar RSS&#39;), los límites superiores del bucle eran:<br />
i &lt;= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX<br />
lo cual es seguro ya que el valor es el último índice válido.<br />
<br />
Ese commit cambió los límites a:<br />
i &lt;= adapter-&gt;rss_{key,lut}_size / 4<br />
donde &#39;rss_{key,lut}_size / 4&#39; es el número de dwords, por lo que el último índice válido es &#39;(rss_{key,lut}_size / 4) - 1&#39;. Por lo tanto, usar &#39;&lt;=&#39; accede a un elemento más allá del final.<br />
<br />
Se corrigen los problemas usando &#39;&lt;&#39; en lugar de &#39;&lt;=&#39;, asegurando que no excedemos los límites.<br />
<br />
[1] Informe de KASAN sobre el &#39;off-by-one&#39; de rss_key_size<br />
ERROR: KASAN: &#39;slab-out-of-bounds&#39; en iavf_config_rss+0x619/0x800<br />
Lectura de tamaño 4 en la dirección ffff888102c50134 por la tarea kworker/u8:6/63<br />
<br />
CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 No contaminado 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntario)<br />
Nombre del hardware: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014<br />
Cola de trabajo: iavf iavf_watchdog_task<br />
Traza de llamadas:<br />
<br />
dump_stack_lvl+0x6f/0xb0<br />
print_report+0x170/0x4f3<br />
kasan_report+0xe1/0x1a0<br />
iavf_config_rss+0x619/0x800<br />
iavf_watchdog_task+0x2be7/0x3230<br />
process_one_work+0x7fd/0x1420<br />
worker_thread+0x4d1/0xd40<br />
kthread+0x344/0x660<br />
ret_from_fork+0x249/0x320<br />
ret_from_fork_asm+0x1a/0x30<br />
<br />
<br />
Asignado por la tarea 63:<br />
kasan_save_stack+0x30/0x50<br />
kasan_save_track+0x14/0x30<br />
__kasan_kmalloc+0x7f/0x90<br />
__kmalloc_noprof+0x246/0x6f0<br />
iavf_watchdog_task+0x28fc/0x3230<br />
process_one_work+0x7fd/0x1420<br />
worker_thread+0x4d1/0xd40<br />
kthread+0x344/0x660<br />
ret_from_fork+0x249/0x320<br />
ret_from_fork_asm+0x1a/0x30<br />
<br />
La dirección con error pertenece al objeto en ffff888102c50100<br />
el cual pertenece a la caché kmalloc-64 de tamaño 64<br />
La dirección con error está ubicada 0 bytes a la derecha de<br />
la región asignada de 52 bytes [ffff888102c50100, ffff888102c50134)<br />
<br />
La dirección con error pertenece a la página física:<br />
página: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50<br />
flags: 0x200000000000000(node=0|zone=2)<br />
page_type: f5(slab)<br />
raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000<br />
raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000<br />
página volcada porque: kasan: acceso incorrecto detectado<br />
<br />
Estado de la memoria alrededor de la dirección con error:<br />
ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc<br />
ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc<br />
&gt;ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc<br />
^<br />
ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc<br />
ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
Gravedad CVSS v3.1: MEDIA
Última modificación:
25/03/2026