{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50094","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-06-18T10:57:27.411Z","datePublished":"2025-06-18T11:02:32.591Z","dateUpdated":"2026-05-11T19:12:42.927Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T19:12:42.927Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nspmi: trace: fix stack-out-of-bound access in SPMI tracing functions\n\ntrace_spmi_write_begin() and trace_spmi_read_end() both call\nmemcpy() with a length of \"len + 1\".  This leads to one extra\nbyte being read beyond the end of the specified buffer.  Fix\nthis out-of-bound memory access by using a length of \"len\"\ninstead.\n\nHere is a KASAN log showing the issue:\n\nBUG: KASAN: stack-out-of-bounds in trace_event_raw_event_spmi_read_end+0x1d0/0x234\nRead of size 2 at addr ffffffc0265b7540 by task thermal@2.0-ser/1314\n...\nCall trace:\n dump_backtrace+0x0/0x3e8\n show_stack+0x2c/0x3c\n dump_stack_lvl+0xdc/0x11c\n print_address_description+0x74/0x384\n kasan_report+0x188/0x268\n kasan_check_range+0x270/0x2b0\n memcpy+0x90/0xe8\n trace_event_raw_event_spmi_read_end+0x1d0/0x234\n spmi_read_cmd+0x294/0x3ac\n spmi_ext_register_readl+0x84/0x9c\n regmap_spmi_ext_read+0x144/0x1b0 [regmap_spmi]\n _regmap_raw_read+0x40c/0x754\n regmap_raw_read+0x3a0/0x514\n regmap_bulk_read+0x418/0x494\n adc5_gen3_poll_wait_hs+0xe8/0x1e0 [qcom_spmi_adc5_gen3]\n ...\n __arm64_sys_read+0x4c/0x60\n invoke_syscall+0x80/0x218\n el0_svc_common+0xec/0x1c8\n ...\n\naddr ffffffc0265b7540 is located in stack of task thermal@2.0-ser/1314 at offset 32 in frame:\n adc5_gen3_poll_wait_hs+0x0/0x1e0 [qcom_spmi_adc5_gen3]\n\nthis frame has 1 object:\n [32, 33) 'status'\n\nMemory state around the buggy address:\n ffffffc0265b7400: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1\n ffffffc0265b7480: 04 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00\n>ffffffc0265b7500: 00 00 00 00 f1 f1 f1 f1 01 f3 f3 f3 00 00 00 00\n                                           ^\n ffffffc0265b7580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n ffffffc0265b7600: f1 f1 f1 f1 01 f2 07 f2 f2 f2 01 f3 00 00 00 00\n=================================================================="}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/trace/events/spmi.h"],"versions":[{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"80f7c93e573ea9f524924bb529c2af8cb28b1c43","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"dc6033a7761254e5a5ba7df36b64db787a53313c","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"ac730c72bddc889f5610d51d8a7abf425e08da1a","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"37690cb8662cec672cacda19e6e4fd2ca7b13f0b","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"dd02510fb43168310abfd0b9ccf49993a722fb91","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"1e0ca3d809c36ad3d1f542917718fc22ec6316e7","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"bcc1b6b1ed3f42ed25858c1f1eb24a2f741db93f","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"504090815c1ad3fd3fa34618b54d706727f8911c","status":"affected","versionType":"git"},{"version":"a9fce374815d8ab94a3e6259802a944e2cc21408","lessThan":"2af28b241eea816e6f7668d1954f15894b45d7e3","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/trace/events/spmi.h"],"versions":[{"version":"4.3","status":"affected"},{"version":"0","lessThan":"4.3","status":"unaffected","versionType":"semver"},{"version":"4.9.326","lessThanOrEqual":"4.9.*","status":"unaffected","versionType":"semver"},{"version":"4.14.291","lessThanOrEqual":"4.14.*","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.3","versionEndExcluding":"4.9.326"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"4.14.291"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"4.19.256"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"5.4.211"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"5.10.137"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"5.15.61"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"5.18.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"5.19.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.3","versionEndExcluding":"6.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/80f7c93e573ea9f524924bb529c2af8cb28b1c43"},{"url":"https://git.kernel.org/stable/c/dc6033a7761254e5a5ba7df36b64db787a53313c"},{"url":"https://git.kernel.org/stable/c/ac730c72bddc889f5610d51d8a7abf425e08da1a"},{"url":"https://git.kernel.org/stable/c/37690cb8662cec672cacda19e6e4fd2ca7b13f0b"},{"url":"https://git.kernel.org/stable/c/dd02510fb43168310abfd0b9ccf49993a722fb91"},{"url":"https://git.kernel.org/stable/c/1e0ca3d809c36ad3d1f542917718fc22ec6316e7"},{"url":"https://git.kernel.org/stable/c/bcc1b6b1ed3f42ed25858c1f1eb24a2f741db93f"},{"url":"https://git.kernel.org/stable/c/504090815c1ad3fd3fa34618b54d706727f8911c"},{"url":"https://git.kernel.org/stable/c/2af28b241eea816e6f7668d1954f15894b45d7e3"}],"title":"spmi: trace: fix stack-out-of-bound access in SPMI tracing functions","x_generator":{"engine":"bippy-1.2.0"}}}}