CVE-2026-97480 in Linux
Resumen
por VulDB • 2026-09-24
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
tty: serial: 8250: proteger contra uart->port.dev NULL en register
serial8250_register_8250_port() copia condicionalmente uart->port.dev desde up->port.dev solo cuando up->port.dev no es NULL:
if (up->port.dev) {
uart->port.dev = up->port.dev; ... }
Por lo tanto, si tanto la ranura de uart existente como up tienen un ->dev NULL, uart->port.dev permanece NULL. La siguiente comprobación del compañero ACPI luego lo desreferencia incondicionalmente:
if (!has_acpi_companion(uart->port.dev)) {
has_acpi_companion() lee dev->fwnode sin una protección contra NULL (include/linux/acpi.h), por lo que esto provoca un desreferenciamiento a NULL en el kernel para el caso restante de no-dev, en lugar de simplemente omitir la inicialización de mctrl_gpio_init() como se pretendía.
smatch señala la inconsistencia:
drivers/tty/serial/8250/8250_core.c:767 serial8250_register_8250_port() error: 'uart->port.dev' podría ser null (ver línea 719)
Proteger la llamada con una comprobación de NULL para que register continúe funcionando para los llamadores que legítimamente no tienen un dispositivo padre (registros legacy sin OF ni ACPI).
No hay cambio funcional para los llamadores que pasan un ->dev distinto de NULL.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.