CVE-2024-35994
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2024
Last modified:
23/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
firmware: qcom: uefisecapp: Fix memory related IO errors and crashes<br />
<br />
It turns out that while the QSEECOM APP_SEND command has specific fields<br />
for request and response buffers, uefisecapp expects them both to be in<br />
a single memory region. Failure to adhere to this has (so far) resulted<br />
in either no response being written to the response buffer (causing an<br />
EIO to be emitted down the line), the SCM call to fail with EINVAL<br />
(i.e., directly from TZ/firmware), or the device to be hard-reset.<br />
<br />
While this issue can be triggered deterministically, in the current form<br />
it seems to happen rather sporadically (which is why it has gone<br />
unnoticed during earlier testing). This is likely due to the two<br />
kzalloc() calls (for request and response) being directly after each<br />
other. Which means that those likely return consecutive regions most of<br />
the time, especially when not much else is going on in the system.<br />
<br />
Fix this by allocating a single memory region for both request and<br />
response buffers, properly aligning both structs inside it. This<br />
unfortunately also means that the qcom_scm_qseecom_app_send() interface<br />
needs to be restructured, as it should no longer map the DMA regions<br />
separately. Therefore, move the responsibility of DMA allocation (or<br />
mapping) to the caller.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.8.9 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



