CVE-2025-38152: remoteproc: core: Clear table_sz when rproc_shutdown
In the Linux kernel, the following vulnerability has been resolved:
remoteproc: core: Clear table_sz when rproc_shutdown
There is case as below could trigger kernel dump:
Use U-Boot to start remote processor(rproc) with resource table
published to a fixed address by rproc. After Kernel boots up,
stop the rproc, load a new firmware which doesn't have resource table
,and start rproc.
When starting rproc with a firmware not have resource table,
`memcpy(loaded_table, rproc->cached_table, rproc->table_sz)` will
trigger dump, because rproc->cache_table is set to NULL during the last
stop operation, but rproc->table_sz is still valid.
This issue is found on i.MX8MP and i.MX9.
Dump as below:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Mem abort info:
ESR = 0x0000000096000004
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x04: level 0 translation fault
Data abort info:
ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
CM = 0, WnR = 0, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af63000
[0000000000000000] pgd=0000000000000000, p4d=0000000000000000
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 UID: 0 PID: 1060 Comm: sh Not tainted 6.14.0-rc7-next-20250317-dirty #38
Hardware name: NXP i.MX8MPlus EVK board (DT)
pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __pi_memcpy_generic+0x110/0x22c
lr : rproc_start+0x88/0x1e0
Call trace:
__pi_memcpy_generic+0x110/0x22c (P)
rproc_boot+0x198/0x57c
state_store+0x40/0x104
dev_attr_store+0x18/0x2c
sysfs_kf_write+0x7c/0x94
kernfs_fop_write_iter+0x120/0x1cc
vfs_write+0x240/0x378
ksys_write+0x70/0x108
__arm64_sys_write+0x1c/0x28
invoke_syscall+0x48/0x10c
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x30/0xcc
el0t_64_sync_handler+0x10c/0x138
el0t_64_sync+0x198/0x19c
Clear rproc->table_sz to address the issue.
Security readout for executives and security teams
Plain-English summary
CVE-2025-38152 is a Linux kernel availability bug in the remote processor framework. In a specific firmware lifecycle, the kernel can dereference a null pointer and crash. The source describes affected NXP i.MX8MP and i.MX9 systems, so business impact is mainly embedded or edge Linux devices using remoteproc, not general internet-facing servers.
Executive priority
Prioritize patching where Linux devices use remoteproc in production, safety-sensitive, or remotely managed environments. For ordinary servers without remoteproc usage, urgency is lower. Treat this as a reliability and outage-prevention issue rather than a data theft risk based on current evidence.
Technical view
The remoteproc core failed to clear rproc->table_sz during shutdown. After a prior firmware with a resource table is stopped, loading firmware without a resource table can call memcpy using a stale table size while rproc->cached_table is NULL, causing a kernel Oops. The fix clears table_sz in rproc_shutdown.
Likely exposure
Exposure is most likely on Linux systems that use remoteproc to manage auxiliary processors, especially embedded platforms like i.MX8MP and i.MX9. The CVSS vector is local, low-privilege, availability-only. The source bundle does not show broad remote exposure.
Exploitation context
The CVE is not listed as KEV, and the provided sources do not claim active exploitation. The described trigger requires local interaction with remoteproc firmware lifecycle behavior. Evidence supports denial of service through kernel crash, not confidentiality or integrity impact.
Researcher notes
Key condition is stale rproc->table_sz surviving shutdown while cached_table is NULL. The public description names i.MX8MP and i.MX9 observations, but the affected listing is Linux-wide. No exploit maturity, bypass details, or non-kernel workaround is established in the provided sources.
Mitigation direction
Update to a Linux kernel containing the linked stable remoteproc fix.
Follow your OS or device vendor’s kernel advisory for affected branches.
For Debian LTS systems, review the linked Debian announcement and update accordingly.
Restrict remoteproc control and firmware-loading access to trusted administrators.
Avoid changing remoteproc firmware resource-table behavior on affected systems until patched.
Validation and detection
Inventory Linux devices using remoteproc, especially i.MX8MP and i.MX9 platforms.
Confirm the running kernel includes the stable fix clearing table_sz on shutdown.
Check kernel logs for Oops traces involving rproc_start or memcpy after remoteproc restart.
Verify remoteproc sysfs or management paths are not exposed to untrusted users.
Run vendor-supported remoteproc lifecycle tests after applying the kernel update.
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.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
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.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.