CVE-2026-23383 in Linux Kernel
Resumen
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: bpf, arm64: Forzar alineación de 8 bytes para el búfer JIT para prevenir el desgarro atómico struct bpf_plt contiene un campo objetivo u64. Actualmente, el asignador JIT de BPF solicita una alineación de 4 bytes (sizeof(u32)) para el búfer JIT. Debido a que la dirección base del búfer JIT puede estar alineada a 4 bytes (p. ej., terminando en 0x4 o 0xc), la lógica de relleno relativo en build_plt() no logra asegurar que target caiga en un límite de 8 bytes. Esto lleva a dos problemas: 1. UBSAN informa advertencias de acceso desalineado al desreferenciar la estructura. 2. Más críticamente, target se actualiza concurrentemente a través de WRITE_ONCE() en bpf_arch_text_poke() mientras el código JIT'd ejecuta ldr. En arm64, las cargas/almacenamientos de 64 bits solo se garantiza que sean atómicos de copia única si están alineados a 64 bits. Un target desalineado arriesga una lectura desgarrada, haciendo que el JIT salte a una dirección corrupta. Solucione esto aumentando el requisito de alineación de asignación a 8 bytes (sizeof(u64)) en bpf_jit_binary_pack_alloc(). Esto ancla la base del búfer JIT a un límite de 8 bytes, permitiendo que las matemáticas de relleno relativo en build_plt() alineen correctamente el campo target.
Responsable
Linux
Reservar
2026-01-13
Divulgación
2026-03-25
Voces
VulDB provides additional information and datapoints for this CVE:
| ID | Vulnerabilidad | CWE | Exp | Con | CVE |
|---|---|---|---|---|---|
| 353059 | Linux Kernel build_plt denegación de servicio | 476 | No está definido | Arreglo oficial | CVE-2026-23383 |