CVE-2024-27078
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
May 1, 2024
CISA due date
—
Cloudanix analysis
A bug in Linux kernel video code can waste memory when setup errors happen, potentially slowing down or crashing systems that use certain camera or video features.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory leaks occur in tpg_alloc because resources allocated inside for loops are not released on every error return path, and tpg_free is only invoked on successful completion.
Why it matters to the business
Repeated triggering of allocation failures can gradually exhaust kernel memory on affected Linux systems, leading to degraded performance or denial of service for video-related workloads.
How an attack unfolds
An attacker with local access crafts conditions that cause tpg_alloc to fail partway through its allocation loops, leaving allocated buffers unreclaimed until the process or system restarts.
How to fix it
Upgrade the Linux kernel to a version containing commit 0de691ff547d86dd54c24b40a81f9c925df8dd77 or later that ensures proper deallocation on all error paths in tpg_alloc.
How to confirm the fix worked
Confirm the running kernel includes the referenced commit or later; exercise tpg_alloc error paths under memory pressure and verify no net memory growth via slabinfo or kmemleak.
Typical attack path
- Obtain local code execution or access on a Linux system using the v4l2-tpg driver.
- Trigger repeated calls to tpg_alloc that hit error paths inside allocation loops.
- Observe gradual kernel memory consumption without corresponding frees.
- Continue until system resources are exhausted or stability is impacted.
How to detect it
Inspect kernel logs for repeated tpg_alloc failures, monitor slab usage growth for v4l2-tpg related objects, and review any custom drivers or test tools invoking the affected allocation paths.
What your security team should do
- Prioritize kernel upgrades on systems exposing V4L2 video capture or testing interfaces.
- Monitor for availability issues on multimedia workloads until patches are applied.
- Review downstream distributions for backported fixes matching the referenced commit.
The record
In the Linux kernel, the following vulnerability has been resolved: media: v4l2-tpg: fix some memleaks in tpg_alloc In tpg_alloc, resources should be deallocated in each and every error-handling paths, since they are allocated in for statements. Otherwise there would be memleaks because tpg_free is called only when tpg_alloc return 0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | linux | 0 | 4.19.316-1 |
| Debian:10 | linux-5.10 | 0 | 5.10.216-1~deb10u1 |
| Debian:11 | linux | 0 | 5.10.216-1 |
| Debian:12 | linux | 0 | 6.1.85-1 |
| Debian:13 | linux | 0 | 6.7.12-1 |
| Linux | Kernel | 3.18.0 | 4.19.311 |
| SUSE:Linux Enterprise High Availability Extension 12 SP5 | kernel-default | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_56 | 0 | 1-8.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_16 | 0 | 1-150500.11.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_15 | 0 | 1-150500.11.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default-base | 0 | 5.14.21-150500.55.68.1.150500.6.31.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-64kb | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default-base | 0 | 5.14.21-150500.55.68.1.150500.6.31.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-zfcpdump | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-docs | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-obs-build | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-syms | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-syms-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-rt | 0 | 4.12.14-10.182.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-rt_debug | 0 | 4.12.14-10.182.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-source-rt | 0 | 4.12.14-10.182.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-syms-rt | 0 | 4.12.14-10.182.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-default | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-source | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-source-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-syms | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-syms-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-default | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-syms | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-syms-azure | 0 | 4.12.14-16.182.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | kernel-docs | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | kernel-obs-build | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | kernel-default | 0 | 4.12.14-122.216.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Real Time Module 15 SP5 | kernel-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-rt_debug | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-source-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-syms-rt | 0 | 5.14.21-150500.13.58.1 |
| Ubuntu:14.04:LTS | linux | 0 | 3.11.0-12.19 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-189.209 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1128.138 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1063.69~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1133.140 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1065.74~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | 5.15.0-1065.74~20.04.1.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1088.95 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1132.141 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1062.70~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1095.99 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1046.53~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.15 | 0 | 5.15.0-113.123~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1075.80 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1057.60~20.04.1 |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | 5.15.0-1058.64~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1040.41 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1116.123 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-110.120~20.04.1 |
| Ubuntu:20.04:LTS | linux-nvidia-tegra-5.15 | 0 | 5.15.0-1027.27~20.04.1 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.14 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1127.136 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1061.67~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1112.124 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1059.63~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1047.51 |
| Ubuntu:22.04:LTS | linux | 0 | 5.15.0-112.122 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.15.0-1063.69 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1009.9~22.04.2 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.15.0-1066.75 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1067.76.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1065.74.1 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.15.0-1062.70 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1010.11~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1060.66 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1046.53 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-38.38~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | 5.15.0-1056.59 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | 5.15.0-1058.64 |
| Ubuntu:22.04:LTS | linux-kvm | 0 | 5.15.0-1060.65 |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | 5.15.0-110.120 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 0 | 6.8.0-38.38.1~22.04.2 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | 5.15.0-1058.59 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 0 | 5.15.0-1026.26 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 0 | 5.15.0-1015.15 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.1 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle | 0 | 5.15.0-1061.67 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1006.6~22.04.3 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | 5.15.0-1058.61 |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 0 | 6.8.0-38.38.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | 5.15.0-1030.34 |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | No fix |
| Ubuntu:24.04:LTS | linux | 0 | 6.8.0-35.35 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.8.0-1009.9 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.8.0-1008.8 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.8.0-1008.9 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1004.7 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1001.3 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.8.0-1006.6 |
| Ubuntu:24.04:LTS | linux-intel | 0 | 6.8.0-1005.12 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.8.0-35.35.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1007.7 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1009.9.1 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | 0 | 6.11.0-1007.7 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1006.6 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.8.0-1006.6 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.8.0-1005.5 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
Related vulnerabilities
- CVE-2023-52340 The IPv6 implementation in the Linux kernel before 6.3 has a net/ipv6/route.c max_size… Also affects linux
- CVE-2024-39292 In the Linux kernel, the following vulnerability has been resolved: um: Add winch to… Also affects linux
- CVE-2024-38780 In the Linux kernel, the following vulnerability has been resolved: dma-buf/sw-sync… Also affects linux
- CVE-2024-36288 In the Linux kernel, the following vulnerability has been resolved: SUNRPC: Fix loop… Also affects linux
- CVE-2024-38633 In the Linux kernel, the following vulnerability has been resolved: serial: max3100… Also affects linux
- CVE-2024-38634 In the Linux kernel, the following vulnerability has been resolved: serial: max3100: Lock… Also affects linux
- CVE-2024-38637 In the Linux kernel, the following vulnerability has been resolved: greybus: lights… Also affects linux
- CVE-2024-38659 In the Linux kernel, the following vulnerability has been resolved: enic: Validate length… Also affects linux