CVE-2026-10674: DoS (hard fault) in NXP LPUART driver: unsupported runtime UART config leaves clocks disabled
The NXP LPUART serial driver (drivers/serial/uartmcuxlpuart.c), when CONFIGUARTUSERUNTIMECONFIGURE is enabled, called LPUARTDeinit() at the start of mcuxlpuartconfigure(), which disables the LPUART peripheral clocks. The requested configuration is validated only afterwards (in mcuxlpuartconfigurebasic), and unsupported parity/data-bit/stop-bit/flow-control values return -ENOTSUP before the clock is re-enabled.
As a result, a uartconfigure() request with an unsupported configuration left the LPUART in a clock-disabled state; any subsequent access to LPUART registers (pollout/pollin, interrupt handling, or a later reconfigure) faults on the gated peripheral and escalates to a hard fault, crashing the system.
uartconfigure() is a Zephyr syscall whose verifier (zvrfyuartconfigure) only checks that cfg is readable user memory and forwards the caller-supplied configuration unchanged, so an unprivileged userspace thread with access to an LPUART device can deterministically trigger the fault, a persistent system-wide denial of service.
Introduced in v2.5.0 and present in all subsequent releases until this fix, which removes the LPUARTDeinit() call and instead only disables the transmitter/receiver, leaving the clock running.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
NXP LPUART serial driver (drivers/serial/uart_mcux_lpuart.c)to a version that resolves this vulnerability.Fixed in 2.5.0 - Configuration
When CONFIG_UART_USE_RUNTIME_CONFIGURE is enabled, ensure mcux_lpuart_configure() does NOT call LPUART_Deinit() at the start; instead only disable the transmitter/receiver so the LPUART clock remains running (fix described as removing the LPUART_Deinit() call and only disabling transmitter/receiver).
Zephyr UART runtime configure path (CONFIG_UART_USE_RUNTIME_CONFIGURE) CONFIG_UART_USE_RUNTIME_CONFIGURE = enabled - Compensating control
Mitigate deterministic DoS by limiting unprivileged userspace ability to call the uart_configure() syscall (z_vrfy_uart_configure forwards caller-supplied config unchanged).
- Operational
After upgrading to a fixed release, reboot/ensure the system is recovered from any prior crash state (hard fault from gated peripheral).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-10674?
The severity of CVE-2026-10674 is medium with a score of 5.5.
What type of vulnerability is CVE-2026-10674?
CVE-2026-10674 is a Denial of Service (DoS) vulnerability in the NXP LPUART driver.
How do I fix CVE-2026-10674?
To fix CVE-2026-10674, ensure that CONFIG_UART_USE_RUNTIME_CONFIGURE is not enabled in your configuration.
What are the potential impacts of CVE-2026-10674?
The potential impact of CVE-2026-10674 includes disabling the LPUART peripheral clocks, resulting in a hard fault and system instability.
Which software version is affected by CVE-2026-10674?
CVE-2026-10674 affects the Zephyr LPUART serial driver in the version that includes the uart_mcux_lpuart.c file.