CVE-2023-53752 in Linux
Resumen
por VulDB • 2026-06-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: gestionar desbordamientos enteros en kmalloc_reserve()
El commit que causó el problema cambió: ptr = kmalloc(size); if (ptr) size = ksize(ptr);
size = kmalloc_size_roundup(size); ptr = kmalloc(size);
Esto permitía varios fallos (crashes) reportados por syzbot [1]
y Kyle Zeng.
El problema es que si @size es mayor que 0x80000001, kmalloc_size_roundup(size) devuelve 2^32.
kmalloc_reserve() utiliza una variable de 32 bits (obj_size), por lo que 2^32 se trunca a 0.
kmalloc(0) devuelve ZERO_SIZE_PTR, el cual no es manejado por las asignaciones de skb.
La siguiente traza puede activarse si se establece netdev->mtu cerca de 0x7fffffff
En el futuro, podríamos limitar netdev->mtu a un límite más razonable (como KMALLOC_MAX_SIZE).
Este parche se basa en un informe de syzbot, así como en un informe y una corrección tentativa de Kyle Zeng.
[1]
BUG: KASAN: user-memory-access in __build_skb_around net/core/skbuff.c:294 [inline]
BUG: KASAN: user-memory-access in __alloc_skb+0x3c4/0x6e8 net/core/skbuff.c:527 Write of size 32 at addr 00000000fffffd10 by task syz-executor.4/22554
CPU: 1 PID: 22554 Comm: syz-executor.4 Not tainted 6.1.39-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/03/2023 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:279 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:286 __dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x120/0x1a0 lib/dump_stack.c:106 print_report+0xe4/0x4e0 kernel/kasan/report.c:326 kasan_report+0x110/0x1e0 kernel/kasan/report.c:429 __build_skb_around net/core/skbuff.c:294 [inline]
__alloc_skb+0x3c4/0x6e8 net/core/skbuff.c:527
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.