CVE-2025-38152
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
18/04/2025
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
remoteproc: core: Clear table_sz when rproc_shutdown<br />
<br />
There is case as below could trigger kernel dump:<br />
Use U-Boot to start remote processor(rproc) with resource table<br />
published to a fixed address by rproc. After Kernel boots up,<br />
stop the rproc, load a new firmware which doesn&#39;t have resource table<br />
,and start rproc.<br />
<br />
When starting rproc with a firmware not have resource table,<br />
`memcpy(loaded_table, rproc->cached_table, rproc->table_sz)` will<br />
trigger dump, because rproc->cache_table is set to NULL during the last<br />
stop operation, but rproc->table_sz is still valid.<br />
<br />
This issue is found on i.MX8MP and i.MX9.<br />
<br />
Dump as below:<br />
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000<br />
Mem abort info:<br />
ESR = 0x0000000096000004<br />
EC = 0x25: DABT (current EL), IL = 32 bits<br />
SET = 0, FnV = 0<br />
EA = 0, S1PTW = 0<br />
FSC = 0x04: level 0 translation fault<br />
Data abort info:<br />
ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000<br />
CM = 0, WnR = 0, TnD = 0, TagAccess = 0<br />
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0<br />
user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af63000<br />
[0000000000000000] pgd=0000000000000000, p4d=0000000000000000<br />
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP<br />
Modules linked in:<br />
CPU: 2 UID: 0 PID: 1060 Comm: sh Not tainted 6.14.0-rc7-next-20250317-dirty #38<br />
Hardware name: NXP i.MX8MPlus EVK board (DT)<br />
pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)<br />
pc : __pi_memcpy_generic+0x110/0x22c<br />
lr : rproc_start+0x88/0x1e0<br />
Call trace:<br />
__pi_memcpy_generic+0x110/0x22c (P)<br />
rproc_boot+0x198/0x57c<br />
state_store+0x40/0x104<br />
dev_attr_store+0x18/0x2c<br />
sysfs_kf_write+0x7c/0x94<br />
kernfs_fop_write_iter+0x120/0x1cc<br />
vfs_write+0x240/0x378<br />
ksys_write+0x70/0x108<br />
__arm64_sys_write+0x1c/0x28<br />
invoke_syscall+0x48/0x10c<br />
el0_svc_common.constprop.0+0xc0/0xe0<br />
do_el0_svc+0x1c/0x28<br />
el0_svc+0x30/0xcc<br />
el0t_64_sync_handler+0x10c/0x138<br />
el0t_64_sync+0x198/0x19c<br />
<br />
Clear rproc->table_sz to address the issue.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (including) | 5.15.180 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.134 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.87 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.23 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.14 (including) | 6.14.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/068f6648ff5b0c7adeb6c363fae7fb188aa178fa
- https://git.kernel.org/stable/c/2df19f5f6f72da6f6ebab7cdb3a3b9f7686bb476
- https://git.kernel.org/stable/c/6e66bca8cd51ebedd5d32426906a38e4a3c69c5f
- https://git.kernel.org/stable/c/7c6bb82a6f3da6ab2d3fbea03901482231708b98
- https://git.kernel.org/stable/c/8e0fd2a3b9852ac3cf540edb06ccc0153b38b5af
- https://git.kernel.org/stable/c/e6015ca453b82ec54aec9682dcc38773948fcc48
- https://git.kernel.org/stable/c/efdde3d73ab25cef4ff2d06783b0aad8b093c0e4
- https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html



