cve-2025-38152
Vulnerability from cvelistv5
Published
2025-04-18 07:01
Modified
2025-04-18 07:01
Severity ?
EPSS score ?
Summary
remoteproc: core: Clear table_sz when rproc_shutdown
References
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/remoteproc/remoteproc_core.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "6e66bca8cd51ebedd5d32426906a38e4a3c69c5f", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "e6015ca453b82ec54aec9682dcc38773948fcc48", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "7c6bb82a6f3da6ab2d3fbea03901482231708b98", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "2df19f5f6f72da6f6ebab7cdb3a3b9f7686bb476", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "8e0fd2a3b9852ac3cf540edb06ccc0153b38b5af", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "068f6648ff5b0c7adeb6c363fae7fb188aa178fa", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" }, { "lessThan": "efdde3d73ab25cef4ff2d06783b0aad8b093c0e4", "status": "affected", "version": "9dc9507f1880fb6225e3e058cb5219b152cbf198", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/remoteproc/remoteproc_core.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "5.13" }, { "lessThan": "5.13", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "5.15.*", "status": "unaffected", "version": "5.15.180", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.134", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.87", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.23", "versionType": "semver" }, { "lessThanOrEqual": "6.13.*", "status": "unaffected", "version": "6.13.11", "versionType": "semver" }, { "lessThanOrEqual": "6.14.*", "status": "unaffected", "version": "6.14.2", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.15-rc1", "versionType": "original_commit_for_fix" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nremoteproc: core: Clear table_sz when rproc_shutdown\n\nThere is case as below could trigger kernel dump:\nUse U-Boot to start remote processor(rproc) with resource table\npublished to a fixed address by rproc. After Kernel boots up,\nstop the rproc, load a new firmware which doesn\u0027t have resource table\n,and start rproc.\n\nWhen starting rproc with a firmware not have resource table,\n`memcpy(loaded_table, rproc-\u003ecached_table, rproc-\u003etable_sz)` will\ntrigger dump, because rproc-\u003ecache_table is set to NULL during the last\nstop operation, but rproc-\u003etable_sz is still valid.\n\nThis issue is found on i.MX8MP and i.MX9.\n\nDump as below:\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000000\nMem abort info:\n ESR = 0x0000000096000004\n EC = 0x25: DABT (current EL), IL = 32 bits\n SET = 0, FnV = 0\n EA = 0, S1PTW = 0\n FSC = 0x04: level 0 translation fault\nData abort info:\n ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000\n CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\nuser pgtable: 4k pages, 48-bit VAs, pgdp=000000010af63000\n[0000000000000000] pgd=0000000000000000, p4d=0000000000000000\nInternal error: Oops: 0000000096000004 [#1] PREEMPT SMP\nModules linked in:\nCPU: 2 UID: 0 PID: 1060 Comm: sh Not tainted 6.14.0-rc7-next-20250317-dirty #38\nHardware name: NXP i.MX8MPlus EVK board (DT)\npstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)\npc : __pi_memcpy_generic+0x110/0x22c\nlr : rproc_start+0x88/0x1e0\nCall trace:\n __pi_memcpy_generic+0x110/0x22c (P)\n rproc_boot+0x198/0x57c\n state_store+0x40/0x104\n dev_attr_store+0x18/0x2c\n sysfs_kf_write+0x7c/0x94\n kernfs_fop_write_iter+0x120/0x1cc\n vfs_write+0x240/0x378\n ksys_write+0x70/0x108\n __arm64_sys_write+0x1c/0x28\n invoke_syscall+0x48/0x10c\n el0_svc_common.constprop.0+0xc0/0xe0\n do_el0_svc+0x1c/0x28\n el0_svc+0x30/0xcc\n el0t_64_sync_handler+0x10c/0x138\n el0t_64_sync+0x198/0x19c\n\nClear rproc-\u003etable_sz to address the issue." } ], "providerMetadata": { "dateUpdated": "2025-04-18T07:01:31.714Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/6e66bca8cd51ebedd5d32426906a38e4a3c69c5f" }, { "url": "https://git.kernel.org/stable/c/e6015ca453b82ec54aec9682dcc38773948fcc48" }, { "url": "https://git.kernel.org/stable/c/7c6bb82a6f3da6ab2d3fbea03901482231708b98" }, { "url": "https://git.kernel.org/stable/c/2df19f5f6f72da6f6ebab7cdb3a3b9f7686bb476" }, { "url": "https://git.kernel.org/stable/c/8e0fd2a3b9852ac3cf540edb06ccc0153b38b5af" }, { "url": "https://git.kernel.org/stable/c/068f6648ff5b0c7adeb6c363fae7fb188aa178fa" }, { "url": "https://git.kernel.org/stable/c/efdde3d73ab25cef4ff2d06783b0aad8b093c0e4" } ], "title": "remoteproc: core: Clear table_sz when rproc_shutdown", "x_generator": { "engine": "bippy-1.0.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38152", "datePublished": "2025-04-18T07:01:31.714Z", "dateReserved": "2025-04-16T04:51:23.989Z", "dateUpdated": "2025-04-18T07:01:31.714Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38152\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-04-18T07:15:43.403\",\"lastModified\":\"2025-04-29T14:39:46.800\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nremoteproc: core: Clear table_sz when rproc_shutdown\\n\\nThere is case as below could trigger kernel dump:\\nUse U-Boot to start remote processor(rproc) with resource table\\npublished to a fixed address by rproc. After Kernel boots up,\\nstop the rproc, load a new firmware which doesn\u0027t have resource table\\n,and start rproc.\\n\\nWhen starting rproc with a firmware not have resource table,\\n`memcpy(loaded_table, rproc-\u003ecached_table, rproc-\u003etable_sz)` will\\ntrigger dump, because rproc-\u003ecache_table is set to NULL during the last\\nstop operation, but rproc-\u003etable_sz is still valid.\\n\\nThis issue is found on i.MX8MP and i.MX9.\\n\\nDump as below:\\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000000\\nMem abort info:\\n ESR = 0x0000000096000004\\n EC = 0x25: DABT (current EL), IL = 32 bits\\n SET = 0, FnV = 0\\n EA = 0, S1PTW = 0\\n FSC = 0x04: level 0 translation fault\\nData abort info:\\n ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000\\n CM = 0, WnR = 0, TnD = 0, TagAccess = 0\\n GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\\nuser pgtable: 4k pages, 48-bit VAs, pgdp=000000010af63000\\n[0000000000000000] pgd=0000000000000000, p4d=0000000000000000\\nInternal error: Oops: 0000000096000004 [#1] PREEMPT SMP\\nModules linked in:\\nCPU: 2 UID: 0 PID: 1060 Comm: sh Not tainted 6.14.0-rc7-next-20250317-dirty #38\\nHardware name: NXP i.MX8MPlus EVK board (DT)\\npstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)\\npc : __pi_memcpy_generic+0x110/0x22c\\nlr : rproc_start+0x88/0x1e0\\nCall trace:\\n __pi_memcpy_generic+0x110/0x22c (P)\\n rproc_boot+0x198/0x57c\\n state_store+0x40/0x104\\n dev_attr_store+0x18/0x2c\\n sysfs_kf_write+0x7c/0x94\\n kernfs_fop_write_iter+0x120/0x1cc\\n vfs_write+0x240/0x378\\n ksys_write+0x70/0x108\\n __arm64_sys_write+0x1c/0x28\\n invoke_syscall+0x48/0x10c\\n el0_svc_common.constprop.0+0xc0/0xe0\\n do_el0_svc+0x1c/0x28\\n el0_svc+0x30/0xcc\\n el0t_64_sync_handler+0x10c/0x138\\n el0t_64_sync+0x198/0x19c\\n\\nClear rproc-\u003etable_sz to address the issue.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: remoteproc: core: Clear table_sz when rproc_shutdown Existe un caso como el siguiente que podr\u00eda activar el volcado del kernel: Use U-Boot para iniciar el procesador remoto (rproc) con la tabla de recursos publicada en una direcci\u00f3n fija por rproc. Despu\u00e9s de que el kernel se inicie, detenga el rproc, cargue un nuevo firmware que no tenga tabla de recursos e inicie rproc. Al iniciar rproc con un firmware que no tiene tabla de recursos, `memcpy(loaded_table, rproc-\u0026gt;cached_table, rproc-\u0026gt;table_sz)` activar\u00e1 el volcado, porque rproc-\u0026gt;cache_table se establece en NULL durante la \u00faltima operaci\u00f3n de detenci\u00f3n, pero rproc-\u0026gt;table_sz sigue siendo v\u00e1lido. Este problema se encuentra en i.MX8MP y i.MX9. Volcado como se muestra a continuaci\u00f3n: No se puede manejar la desreferencia del puntero NULL del n\u00facleo en la direcci\u00f3n virtual 0000000000000000 Informaci\u00f3n de aborto de memoria: ESR = 0x0000000096000004 EC = 0x25: DABT (EL actual), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: error de traducci\u00f3n de nivel 0 Informaci\u00f3n de aborto de datos: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 pgtable de usuario: p\u00e1ginas de 4k, VA de 48 bits, pgdp=000000010af63000 [0000000000000000] pgd=0000000000000000, p4d=0000000000000000 Error interno: Oops: 0000000096000004 [#1] PREEMPT M\u00f3dulos SMP vinculados: CPU: 2 UID: 0 PID: 1060 Comm: sh No contaminado 6.14.0-rc7-next-20250317-dirty #38 Nombre del hardware: Placa NXP i.MX8MPlus EVK (DT) pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : Rastreo de llamadas: __pi_memcpy_generic+0x110/0x22c lr : rproc_start+0x88/0x1e0 Rastreo de llamadas: __pi_memcpy_generic+0x110/0x22c (P) rproc_boot+0x198/0x57c almac\u00e9n de estado+0x40/0x104 almac\u00e9n de atributos de desarrollo+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 invocar_llamada al sistema+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 Borre rproc-\u0026gt;table_sz para solucionar el problema.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-476\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.13\",\"versionEndExcluding\":\"5.15.180\",\"matchCriteriaId\":\"95F4A2AB-C94B-4AE3-A40B-F806EE4B8398\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.134\",\"matchCriteriaId\":\"3985DEC3-0437-4177-BC42-314AB575285A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.87\",\"matchCriteriaId\":\"EFF24260-49B1-4251-9477-C564CFDAD25B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.23\",\"matchCriteriaId\":\"26CAB76D-F00F-43CE-BEAD-7097F8FB1D6C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.13.11\",\"matchCriteriaId\":\"E7E864B0-8C00-4679-BA55-659B4C9C3AD3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.14\",\"versionEndExcluding\":\"6.14.2\",\"matchCriteriaId\":\"FADAE5D8-4808-442C-B218-77B2CE8780A0\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/068f6648ff5b0c7adeb6c363fae7fb188aa178fa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/2df19f5f6f72da6f6ebab7cdb3a3b9f7686bb476\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6e66bca8cd51ebedd5d32426906a38e4a3c69c5f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/7c6bb82a6f3da6ab2d3fbea03901482231708b98\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/8e0fd2a3b9852ac3cf540edb06ccc0153b38b5af\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e6015ca453b82ec54aec9682dcc38773948fcc48\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/efdde3d73ab25cef4ff2d06783b0aad8b093c0e4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}" } }
Loading...
Loading...
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.