Skip to content
OpenAdvisories
High · 7.8 CVE-2024-35994 EUVD-2024-35712GHSA-5jj7-rmfx-38vv

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

Published May 20, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.8 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.8 Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-lowlatency Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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.

Affected products

VendorProductAffectedFixed
Linux Linux 6.7 6.8.9

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.8.9-1 —
Debian 13 linux 6.8.9-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux 6.8.0-40.40 USN-6949-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1013.14 USN-6949-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1012.14 USN-6952-2
Ubuntu 24.04 LTS linux-gcp 6.8.0-1012.13 USN-6949-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1008.11 USN-6949-1
Ubuntu 24.04 LTS linux-ibm +2 6.8.0-1010.10 USN-6955-1, USN-6952-1, USN-6949-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1011.11 USN-6949-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1011.11.1 USN-6952-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1009.10 USN-6949-2
Ubuntu 24.04 LTS linux-riscv +1 6.8.0-40.40.1 USN-6949-2
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1013.14~22.04.1 —
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1012.14~22.04.1 —
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1012.13~22.04.1 —
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-40.40~22.04.3 —
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1011.11~22.04.1 USN-6949-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1010.10~22.04.1 —
Ubuntu 22.04 LTS linux-riscv +22 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 +1 6.8.0-40.40.1~22.04.1 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2008.8 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1006.6 —

Advisories 6

References