CVE-2022-3078
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Sep 1, 2022
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel's test video driver can cause the system to run out of memory or crash when certain video features are used, and updating the kernel fixes it.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing validation of vzalloc return value combined with missing kfree on allocated buffers in the vidtv_s302m driver allows kernel memory to be leaked or left in an inconsistent state, resulting in local denial of service.
Why it matters to the business
Systems running affected kernels may experience unexpected crashes or resource exhaustion when the test video driver is exercised, requiring kernel updates or reboots that interrupt workloads and increase maintenance overhead.
How an attack unfolds
An attacker with local access loads or triggers the vidtv test driver, causes the allocation path in vidtv_s302m.c to be executed without proper error checking or cleanup, and either exhausts memory or triggers a subsequent kernel fault.
How to fix it
Upgrade the Linux kernel to a version containing commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f or later; rebuild and reboot with the patched kernel. Disable or remove the vidtv test driver if it is not required.
How to confirm the fix worked
Confirm the running kernel contains commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f, verify that vzalloc result checks and corresponding kfree calls exist in drivers/media/test-drivers/vidtv/vidtv_s302m.c, and test that module load/unload cycles no longer leak memory under repeated allocation paths.
Typical attack path
- Obtain local user or container access on a Linux system
- Load or exercise the vidtv test media driver module
- Invoke the allocation routine in vidtv_s302m.c that omits vzalloc result check and kfree
- Trigger repeated allocation or subsequent kernel operations that rely on the leaked or dangling memory
- Observe kernel panic, OOM killer activity, or system hang
How to detect it
Review kernel logs for OOM killer invocations or slab allocation warnings referencing vidtv_s302m, inspect module load history for vidtv, and search process or audit logs for local users repeatedly exercising media test interfaces.
- vidtv_s302m
- vzalloc.*vidtv
- drivers/media/test-drivers/vidtv/vidtv_s302m.c
What your security team should do
- Prioritize kernel upgrade to the fixed commit on all systems exposing the vidtv driver
- Audit kernel configurations to ensure test drivers are not enabled in production builds
- Monitor for local privilege-escalation attempts that could chain this issue with other kernel flaws
The record
An issue was discovered in the Linux kernel through 5.16-rc6. There is a lack of check after calling vzalloc() and lack of free after allocation in drivers/media/test-drivers/vidtv/vidtv_s302m.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 5.10.113-1 |
| Debian:12 | linux | 0 | 5.17.3-1 |
| Debian:13 | linux | 0 | 5.17.3-1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4-RT_Update_1 | 0 | 1-150400.1.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_3 | 0 | 1-150400.9.3.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | kernel-64kb | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | kernel-default-base | 0 | 5.14.21-150400.24.21.2.150400.24.7.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | kernel-source | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | kernel-zfcpdump | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | kernel-docs | 0 | 5.14.21-150400.24.21.3 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | kernel-obs-build | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | kernel-source | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | kernel-syms | 0 | 5.14.21-150400.24.21.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP4 | kernel-azure | 0 | 5.14.21-150400.14.13.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP4 | kernel-source-azure | 0 | 5.14.21-150400.14.13.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP4 | kernel-syms-azure | 0 | 5.14.21-150400.14.13.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| SUSE:Real Time Module 15 SP4 | kernel-rt | 0 | 5.14.21-150400.15.5.1 |
| SUSE:Real Time Module 15 SP4 | kernel-rt_debug | 0 | 5.14.21-150400.15.5.1 |
| SUSE:Real Time Module 15 SP4 | kernel-source-rt | 0 | 5.14.21-150400.15.5.1 |
| SUSE:Real Time Module 15 SP4 | kernel-syms-rt | 0 | 5.14.21-150400.15.5.1 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1003.5~20.04.2 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1033.36~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1001.3 |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1007.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1015.17~20.04.1 |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1020.24 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1009.9~22.04.2 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | 5.19.0-1020.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1010.11~22.04.1 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | 5.19.0-28.29~22.04.1 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-38.38~22.04.1 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | 5.15.0-1021.26 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | 0 | 5.19.0-1017.18~22.04.1 |
| 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-1005.5 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | 6.5.0-1004.4 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | 6.0.0-1006.6 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | 0 | 6.1.0-1004.4 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1006.6~22.04.3 |
| Ubuntu:22.04:LTS | linux-realtime | 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-xilinx-zynqmp | 0 | 5.15.0-1022.26 |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | 5.15.0-1011.13 |
| Ubuntu:24.04:LTS | linux | 0 | 6.5.0-9.9 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.5.0-1008.8 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1003.5 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1001.3 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.5.0-1009.9 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.5.0-9.9.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-1003.3 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.5.0-1010.10 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.5.0-1005.7 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | 6.7.0-2001.1 |
| Ubuntu:24.04:LTS | linux-realtime | 0 | 6.8.0-1008.19 |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.5.0-9.9.1 |
| Ubuntu:24.10 | linux | 0 | 6.8.0-31.31 |
| Ubuntu:24.10 | linux-aws | 0 | 6.8.0-1008.8 |
| Ubuntu:24.10 | linux-azure | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-lowlatency | 0 | 6.8.0-31.31.1 |
| Ubuntu:24.10 | linux-oracle | 0 | 6.8.0-1005.5 |
| Ubuntu:24.10 | linux-raspi | 0 | 6.8.0-1004.4 |
| Ubuntu:24.10 | linux-realtime | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-riscv | 0 | 6.8.0-31.31.1 |
| Ubuntu:Pro:22.04:LTS:Realtime:Kernel | linux-realtime | 0 | 5.15.0-1014.14 |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-aws-fips | 0 | 5.15.0-1051.56+fips1 |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-azure-fips | 0 | 5.15.0-1053.61+fips1 |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-fips | 0 | 5.15.0-73.80+fips1 |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-gcp-fips | 0 | 5.15.0-1048.56+fips1 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-aws-fips | 0 | 4.15.0-2000.4 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-azure-fips | 0 | 4.15.0-1002.2 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-gcp-fips | 0 | 4.15.0-2013.14 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-aws-fips | 0 | 5.4.0-1021.21+fips2 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-azure-fips | 0 | 5.4.0-1022.22+fips1 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-gcp-fips | 0 | 5.4.0-1021.21+fips1 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-aws-fips | 0 | 5.15.0-1052.57+fips1 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-azure-fips | 0 | 5.15.0-1058.66+fips1 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-fips | 0 | 5.15.0-92.102+fips1 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-gcp-fips | 0 | 5.15.0-1048.56+fips1 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-aws-fips | 0 | 4.15.0-2000.4 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-azure-fips | 0 | 4.15.0-1002.2 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-gcp-fips | 0 | 4.15.0-1001.1 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-aws-fips | 0 | 5.4.0-1021.21+fips2 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-azure-fips | 0 | 5.4.0-1022.22+fips1 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-gcp-fips | 0 | 5.4.0-1021.21+fips1 |
| Ubuntu:Pro:Realtime:22.04:LTS | linux-realtime | 0 | 5.15.0-1014.14 |
| openSUSE:Leap 15.4 | dtb-aarch64 | 0 | 5.14.21-150400.24.21.1 |
| openSUSE:Leap 15.4 | kernel-64kb | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-azure | 0 | 5.14.21-150400.14.13.1 |
| openSUSE:Leap 15.4 | kernel-debug | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-default | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-default-base | 0 | 5.14.21-150400.24.21.2.150400.24.7.2 |
| openSUSE:Leap 15.4 | kernel-docs | 0 | 5.14.21-150400.24.21.3 |
| openSUSE:Leap 15.4 | kernel-kvmsmall | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-obs-build | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-obs-qa | 0 | 5.14.21-150400.24.21.1 |
| openSUSE:Leap 15.4 | kernel-rt | 0 | 5.14.21-150400.15.5.1 |
| openSUSE:Leap 15.4 | kernel-rt_debug | 0 | 5.14.21-150400.15.5.1 |
| openSUSE:Leap 15.4 | kernel-source | 0 | 5.14.21-150400.24.21.2 |
| openSUSE:Leap 15.4 | kernel-source-azure | 0 | 5.14.21-150400.14.13.1 |
| openSUSE:Leap 15.4 | kernel-source-rt | 0 | 5.14.21-150400.15.5.1 |
| openSUSE:Leap 15.4 | kernel-syms | 0 | 5.14.21-150400.24.21.1 |
| openSUSE:Leap 15.4 | kernel-syms-azure | 0 | 5.14.21-150400.14.13.1 |
| openSUSE:Leap 15.4 | kernel-syms-rt | 0 | 5.14.21-150400.15.5.1 |
| openSUSE:Leap 15.4 | kernel-zfcpdump | 0 | 5.14.21-150400.24.21.2 |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux