CVE-2025-38262: tty: serial: uartlite: register uart driver in init
In the Linux kernel, the following vulnerability has been resolved:
tty: serial: uartlite: register uart driver in init
When two instances of uart devices are probing, a concurrency race can
occur. If one thread calls uart_register_driver function, which first
allocates and assigns memory to 'uart_state' member of uart_driver
structure, the other instance can bypass uart driver registration and
call ulite_assign. This calls uart_add_one_port, which expects the uart
driver to be fully initialized. This leads to a kernel panic due to a
null pointer dereference:
[ 8.143581] BUG: kernel NULL pointer dereference, address: 00000000000002b8
[ 8.156982] #PF: supervisor write access in kernel mode
[ 8.156984] #PF: error_code(0x0002) - not-present page
[ 8.156986] PGD 0 P4D 0
...
[ 8.180668] RIP: 0010:mutex_lock+0x19/0x30
[ 8.188624] Call Trace:
[ 8.188629] ? __die_body.cold+0x1a/0x1f
[ 8.195260] ? page_fault_oops+0x15c/0x290
[ 8.209183] ? __irq_resolve_mapping+0x47/0x80
[ 8.209187] ? exc_page_fault+0x64/0x140
[ 8.209190] ? asm_exc_page_fault+0x22/0x30
[ 8.209196] ? mutex_lock+0x19/0x30
[ 8.223116] uart_add_one_port+0x60/0x440
[ 8.223122] ? proc_tty_register_driver+0x43/0x50
[ 8.223126] ? tty_register_driver+0x1ca/0x1e0
[ 8.246250] ulite_probe+0x357/0x4b0 [uartlite]
To prevent it, move uart driver registration in to init function. This
will ensure that uart_driver is always registered when probe function
is called.
Security readout for executives and security teams
Plain-English summary
A race during startup of two Linux UARTLite serial devices can use an incompletely initialized driver and crash the kernel. The direct business risk is device or service downtime, especially on embedded or hardware-oriented Linux systems using multiple UARTLite instances.
Executive priority
Prioritize affected embedded and operational systems where an unexpected reboot or startup failure has material consequences. Treat general-purpose systems without UARTLite hardware as lower priority after confirming non-exposure. Remediate through supported kernel updates rather than relying solely on the race being difficult to reproduce.
Technical view
Concurrent uartlite probes may race during uart_register_driver initialization. One probe can reach ulite_assign and uart_add_one_port before uart_driver is fully initialized, causing a null-pointer dereference and kernel panic. The upstream correction registers the UART driver during module initialization so registration completes before probing.
Likely exposure
Exposure appears limited to affected Linux kernels with the uartlite driver and at least two UARTLite device instances probing concurrently. Systems without this driver or hardware configuration are unlikely to encounter the documented condition. The supplied affected-version data is broad and insufficient for precise package-level conclusions.
Exploitation context
The CVSS 3.1 score is 7.8 and describes local, low-privilege access with no user interaction. However, the sources document a probe-time race and kernel panic, not a practical attacker-controlled technique. The CVE is not listed as KEV, and the bundle provides no evidence of active exploitation.
Researcher notes
The documented failure is a concurrency-driven null dereference during device probing. The supplied version ranges and repeated commit identifier are not sufficiently clear to map every distribution build. No CWE is supplied. Researchers should verify backport status from kernel or distribution changelogs and avoid inferring confidentiality or integrity impact solely from the CVSS vector.
Mitigation direction
Install a vendor-supported kernel containing the applicable upstream UARTLite registration fix.
Check Linux distribution advisories and package changelogs for CVE-2025-38262 coverage.
Prioritize embedded systems that use multiple UARTLite serial-device instances.
Where upgrades are delayed, consult vendor guidance for configuration-specific mitigations.
Validation and detection
Inventory kernel versions and determine whether the uartlite driver is built or loaded.
Identify systems whose hardware description exposes multiple UARTLite device instances.
Confirm the installed kernel includes the applicable referenced stable commit or vendor backport.
Review boot logs for uartlite probe failures, null dereferences, or uart_add_one_port panics.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38262 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
9Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.