Vulnerabilidad en kernel de Linux (CVE-2023-52999)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
27/03/2025
Última modificación:
01/04/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: corrige UaF en la ruta de error de registro de operaciones de netns Si net_assign_generic() falla, la ruta de error actual en ops_init() intenta borrar la ranura del puntero gen. De todas formas, en dicha ruta de error, el puntero gen en sí no se ha modificado aún, y el existente y al que se ha accedido es más pequeño que el índice accedido, lo que provoca un error fuera de los límites: BUG: KASAN: slab-out-of-bounds en ops_init+0x2de/0x320 Escritura de tamaño 8 en la dirección ffff888109124978 por la tarea modprobe/1018 CPU: 2 PID: 1018 Comm: modprobe No contaminado 6.2.0-rc2.mptcp_ae5ac65fbed5+ #1641 Nombre del hardware: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.1-2.fc37 04/01/2014 Rastreo de llamadas: dump_stack_lvl+0x6a/0x9f print_address_description.constprop.0+0x86/0x2b5 print_report+0x11b/0x1fb kasan_report+0x87/0xc0 ops_init+0x2de/0x320 register_pernet_operations+0x2e4/0x750 register_pernet_subsys+0x24/0x40 tcf_register_action+0x9f/0x560 do_one_initcall+0xf9/0x570 do_init_module+0x190/0x650 load_module+0x1fa5/0x23c0 __do_sys_finit_module+0x10d/0x1b0 do_syscall_64+0x58/0x80 entry_SYSCALL_64_after_hwframe+0x72/0xdc RIP: 0033:0x7f42518f778d Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d cb 56 2c 00 f7 d8 64 89 01 48 RSP: 002b:00007fff96869688 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 RAX: ffffffffffffffda RBX: 00005568ef7f7c90 RCX: 00007f42518f778d RDX: 0000000000000000 RSI: 00005568ef41d796 RDI: 0000000000000003 RBP: 00005568ef41d796 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000 R13: 00005568ef7f7d30 R14: 0000000000040000 R15: 0000000000000000 Este cambio soluciona el problema omitiendo la desreferencia del puntero gen en la ruta de error mencionada. Se detectó mediante inspección de código y se verificó con inyección de error explícita en un kernel con kasan habilitado.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.264 (incluyendo) | 4.19.272 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.223 (incluyendo) | 5.4.231 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.153 (incluyendo) | 5.10.166 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.77 (incluyendo) | 5.15.91 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (incluyendo) | 6.1.9 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (incluyendo) | 6.2 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.0.7:*:*:*:*:*:*:* | ||
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:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:* |
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/12075708f2e77ee6a9f8bb2cf512c38be3099794
- https://git.kernel.org/stable/c/66689a72ba73575e76d4f6a8748d3fa2690ec1c4
- https://git.kernel.org/stable/c/71ab9c3e2253619136c31c89dbb2c69305cc89b1
- https://git.kernel.org/stable/c/ad0dfe9bcf0d78e699c7efb64c90ed062dc48bea
- https://git.kernel.org/stable/c/d4c008f3b7f7d4ffd311eb2dae5e75b3cbddacd0
- https://git.kernel.org/stable/c/ddd49cbbd4c1ceb38032018b589b44208e54f55e