CVE-2024-35994CWE-401

CVE-2024-35994

High · published May 20, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
8.6
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

firmware: qcom: uefisecapp: Fix memory related IO errors and crashes

It turns out that while the QSEECOM APP_SEND command has specific fields

for request and response buffers, uefisecapp expects them both to be in

a single memory region. Failure to adhere to this has (so far) resulted

in either no response being written to the response buffer (causing an

EIO to be emitted down the line), the SCM call to fail with EINVAL

(i.e., directly from TZ/firmware), or the device to be hard-reset.

While this issue can be triggered deterministically, in the current form

it seems to happen rather sporadically (which is why it has gone

unnoticed during earlier testing). This is likely due to the two

kzalloc() calls (for request and response) being directly after each

other. Which means that those likely return consecutive regions most of

the time, especially when not much else is going on in the system.

Fix this by allocating a single memory region for both request and

response buffers, properly aligning both structs inside it. This

unfortunately also means that the qcom_scm_qseecom_app_send() interface

needs to be restructured, as it should no longer map the DMA regions

separately. Therefore, move the responsibility of DMA allocation (or

mapping) to the caller.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00194 · 8.6th percentile
Weakness
CWE-401 · Missing Release of Memory after Effective Lifetime
Published
2024-05-20T14:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 6.7, < 6.8.96.8.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 20 MAY 09:47Z
    firmware: qcom: uefisecapp: Fix memory related IO errors and crashes
    cvelistv5