{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49952","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-06-18T10:57:27.382Z","datePublished":"2025-06-18T11:00:15.434Z","dateUpdated":"2026-08-05T08:56:52.538Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:56:52.538Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmisc: fastrpc: fix memory corruption on probe\n\nAdd the missing sanity check on the probed-session count to avoid\ncorrupting memory beyond the fixed-size slab-allocated session array\nwhen there are more than FASTRPC_MAX_SESSIONS sessions defined in the\ndevicetree."}],"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 Qualcomm FastRPC platform compute-cb probe path during local DSP/rpmsg bring-up, not reachable via network packets or adjacent-link protocols.\nAC:L - On realistic Qualcomm device trees such as SC8280XP with 14 CDSP context banks (when FASTRPC_MAX_SESSIONS was 13) or oversized qcom,nsessions, probe reliably performs the out-of-bounds session array write with no attacker-uncontrollable race.\nPR:L - fastrpc_cb_probe runs from trusted DT during device bring-up without a capability gate; on primary Android/Qualcomm deployments the resulting kernel corruption is then reachable by low-privilege local processes using the fastrpc device nodes.\nUI:N - Exploitation requires no victim action; the overflow is triggered automatically when the compute-cb devices are probed.\nS:U - Impact is confined to kernel memory in the same host OS security authority (local privilege escalation), with no VM or IOMMU boundary crossed.\nC:H - The out-of-bounds write past the fixed session array corrupts adjacent channel_ctx fields (including idr and list pointers), which can be leveraged for arbitrary kernel memory disclosure.\nI:H - Out-of-bounds write into the spinlock, idr, and users list immediately following the session array enables classic kernel heap/list corruption primitives for arbitrary write and control-flow hijacking.\nA:H - Corrupting the channel spinlock, idr, or list_head reliably causes kernel oops, panic, or hangs when those structures are subsequently used."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/misc/fastrpc.c"],"versions":[{"version":"f6f9279f2bf0e37e2f1fb119d8832b8568536a04","lessThan":"ec186b9f4aa2e6444d5308a6cc268aada7007639","status":"affected","versionType":"git"},{"version":"f6f9279f2bf0e37e2f1fb119d8832b8568536a04","lessThan":"c99bc901d5eb9fbdd7bd39f625e170ce97390336","status":"affected","versionType":"git"},{"version":"f6f9279f2bf0e37e2f1fb119d8832b8568536a04","lessThan":"0e33b0f322fecd7a92d9dc186535cdf97940a856","status":"affected","versionType":"git"},{"version":"f6f9279f2bf0e37e2f1fb119d8832b8568536a04","lessThan":"c0425c2facd9166fa083f90c9f3187ace0c7837a","status":"affected","versionType":"git"},{"version":"f6f9279f2bf0e37e2f1fb119d8832b8568536a04","lessThan":"9baa1415d9abdd1e08362ea2dcfadfacee8690b5","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/misc/fastrpc.c"],"versions":[{"version":"5.1","status":"affected"},{"version":"0","lessThan":"5.1","status":"unaffected","versionType":"semver"},{"version":"5.4.213","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.142","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.66","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.19.8","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":"5.1","versionEndExcluding":"5.4.213"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.10.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.15.66"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.19.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/ec186b9f4aa2e6444d5308a6cc268aada7007639"},{"url":"https://git.kernel.org/stable/c/c99bc901d5eb9fbdd7bd39f625e170ce97390336"},{"url":"https://git.kernel.org/stable/c/0e33b0f322fecd7a92d9dc186535cdf97940a856"},{"url":"https://git.kernel.org/stable/c/c0425c2facd9166fa083f90c9f3187ace0c7837a"},{"url":"https://git.kernel.org/stable/c/9baa1415d9abdd1e08362ea2dcfadfacee8690b5"}],"title":"misc: fastrpc: fix memory corruption on probe","x_generator":{"engine":"bippy-1.2.0"}}}}