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&amp;#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-&gt;cached_table, rproc-&gt;table_sz)` will<br /> trigger dump, because rproc-&gt;cache_table is set to NULL during the last<br /> stop operation, but rproc-&gt;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-&gt;table_sz to address the issue.

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)