{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50087","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-06-18T10:57:27.410Z","datePublished":"2025-06-18T11:02:28.079Z","dateUpdated":"2026-08-05T08:57:21.727Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:57:21.727Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails\n\nWhen scpi probe fails, at any point, we need to ensure that the scpi_info\nis not set and will remain NULL until the probe succeeds. If it is not\ntaken care, then it could result use-after-free as the value is exported\nvia get_scpi_ops() and could refer to a memory allocated via devm_kzalloc()\nbut freed when the probe fails."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is in the ARM SCPI platform firmware driver (mailbox/shared-memory to the on-SoC SCP), reached during local driver probe and consumer deferred probes (scpi-hwmon/clk/cpufreq/pm-domain), not via network or adjacent protocols.\nAC:L - Any probe failure after early assignment of global scpi_info (including common -EPROBE_DEFER when the mailbox is not ready, or SCP firmware/capability failure) deterministically leaves a dangling pointer that get_scpi_ops() consumers then use; the attacker does not need a hard-to-influence race.\nPR:L - The UAF is hit from in-kernel deferred probe of SCPI consumers without CAP_SYS_ADMIN/sysfs bind, so a normal local unprivileged user context on an affected ARM SCPI system is sufficient for the highest-severity exploitation model (heap spray against the freed scpi_drvinfo).\nUI:N - No victim action is required; probe failure and subsequent get_scpi_ops() use occur automatically during boot/deferred probing.\nS:U - Impact remains within the kernel’s security authority (local privilege escalation/DoS via kernel UAF); it does not cross a VM, IOMMU, or other separate security boundary.\nC:H - This is a use-after-free of scpi_drvinfo exported through get_scpi_ops(); with heap reuse the attacker can control the returned scpi_ops and adjacent state, enabling arbitrary kernel reads.\nI:H - UAF of the ops/channel state enables forged function pointers and writes through SCPI ops (clocks, DVFS, power, sensors), so integrity impact includes control-flow hijacking and arbitrary modification.\nA:H - The reported crash is a kernel oops/NULL instruction abort in scpi_hwmon_probe via the dangling scpi_info, and UAFs generally cause panics even when not fully exploited."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/arm_scpi.c"],"versions":[{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"5aa558232edc30468d1f35108826dd5b3ffe978f","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"18048cba444a7c41dbf42c180d6b46606fc24c51","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"08272646cd7c310642c39b7f54348fddd7987643","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"0c29e149b6bb498778ed8a1c9597b51acfba7856","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"87c4896d5dd7fd9927c814cf3c6289f41de3b562","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"4f2d7b46d6b53c07f44a4f8f8f4438888f0e9e87","status":"affected","versionType":"git"},{"version":"8cb7cf56c9fe5412de238465b27ef35b4d2801aa","lessThan":"689640efc0a2c4e07e6f88affe6d42cd40cc3f85","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/arm_scpi.c"],"versions":[{"version":"4.4","status":"affected"},{"version":"0","lessThan":"4.4","status":"unaffected","versionType":"semver"},{"version":"4.19.256","lessThanOrEqual":"4.19.*","status":"unaffected","versionType":"semver"},{"version":"5.4.211","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.137","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.61","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.18.18","lessThanOrEqual":"5.18.*","status":"unaffected","versionType":"semver"},{"version":"5.19.2","lessThanOrEqual":"5.19.*","status":"unaffected","versionType":"semver"},{"version":"6.0","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"4.19.256"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"5.4.211"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"5.10.137"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"5.15.61"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"5.18.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"5.19.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4","versionEndExcluding":"6.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5aa558232edc30468d1f35108826dd5b3ffe978f"},{"url":"https://git.kernel.org/stable/c/18048cba444a7c41dbf42c180d6b46606fc24c51"},{"url":"https://git.kernel.org/stable/c/08272646cd7c310642c39b7f54348fddd7987643"},{"url":"https://git.kernel.org/stable/c/0c29e149b6bb498778ed8a1c9597b51acfba7856"},{"url":"https://git.kernel.org/stable/c/87c4896d5dd7fd9927c814cf3c6289f41de3b562"},{"url":"https://git.kernel.org/stable/c/4f2d7b46d6b53c07f44a4f8f8f4438888f0e9e87"},{"url":"https://git.kernel.org/stable/c/689640efc0a2c4e07e6f88affe6d42cd40cc3f85"}],"title":"firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2022-50087","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-06-10T20:41:34.847637Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-06-11T18:44:13.909Z"}}]}}