CVE-2022-38096
Medium · 6.3CVSS
6.3
EPSS
0.8%
Published
Sep 9, 2022
CISA due date
—
Cloudanix analysis
A local user on certain Linux computers can crash the system or gain extra access by sending bad instructions to the graphics hardware driver.
- 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
- Medium
What it actually does
NULL pointer dereference in the vmwgfx driver (drivers/gpu/vmxgfx/vmxgfx_execbuf.c) triggered via the /dev/dri/renderD* device file allows a local process to crash the kernel or escalate privileges.
Why it matters to the business
Systems running the affected Linux kernel versions can experience sudden graphics-related service outages or loss of system control from local accounts, increasing downtime and potential unauthorized access on multi-user or virtualized hosts.
How an attack unfolds
An authenticated local user crafts a malicious sequence of ioctl or execbuf operations against the vmwgfx render device; the driver dereferences a NULL pointer during command buffer processing, resulting in a kernel panic or controlled privilege elevation.
How to fix it
Upgrade to a Linux kernel version containing the vmwgfx NULL dereference fix; if a distribution backport is unavailable, apply the upstream patch or disable the vmwgfx driver for untrusted users via module blacklist or device permissions.
How to confirm the fix worked
Verify the running kernel contains the corrected vmwgfx_execbuf.c logic, confirm the render device cannot be opened by low-privileged accounts, and test that crafted execbuf calls no longer produce kernel oops or panics.
Typical attack path
- Obtain a local user account on a Linux system exposing the vmwgfx render device
- Open /dev/dri/renderD128 (or equivalent) and prepare malformed execbuf structures
- Invoke the vulnerable ioctl path to trigger the NULL dereference
- Escalate to higher privileges or force a kernel crash for denial of service
How to detect it
Review kernel logs for vmwgfx NULL pointer dereference oops messages, unusual execbuf ioctl failures, or sudden reboots on systems with the render device present; correlate with authentication events for the affected user accounts.
What your security team should do
- Prioritize kernel updates on any host exposing /dev/dri/renderD* to untrusted local users
- Restrict access to GPU render devices via udev rules or group membership until patched
- Monitor EPSS trend and kernel mailing lists for related memory-safety issues
The record
A NULL pointer dereference vulnerability was found in vmwgfx driver in drivers/gpu/vmxgfx/vmxgfx_execbuf.c in GPU component of Linux kernel with device file '/dev/dri/renderD128 (or Dxxx)'. This flaw allows a local attacker with a user account on the system to gain privilege, causing a denial of service(DoS).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bpftool | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-abi-stablelists | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-core | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-cross-headers | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-debug | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-debug-core | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-debug-devel | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-debug-modules | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-debug-modules-extra | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-devel | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-doc | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-modules | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-modules-extra | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-tools | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-tools-libs | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-tools-libs-devel | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-zfcpdump | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-zfcpdump-core | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-zfcpdump-devel | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-zfcpdump-modules | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | kernel-zfcpdump-modules-extra | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | perf | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:8 | python3-perf | 0 | 4.18.0-513.24.1.el8_9 |
| AlmaLinux:9 | bpftool | 0 | 7.3.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-devel-matched | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-64k-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-abi-stablelists | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-cross-headers | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-devel-matched | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-debug-uki-virt | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-devel-matched | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-doc | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-headers | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-debug-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-rt-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-tools | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-tools-libs | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-tools-libs-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-uki-virt | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-devel | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-devel-matched | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-modules | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-modules-core | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | kernel-zfcpdump-modules-extra | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | libperf | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | perf | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | python3-perf | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | rtla | 0 | 5.14.0-427.13.1.el9_4 |
| AlmaLinux:9 | rv | 0 | 5.14.0-427.13.1.el9_4 |
| Chainguard | hyperv-daemons | 0 | 0 |
| Chainguard | hyperv-daemons-6.12 | 0 | 0 |
| Chainguard | hyperv-daemons-6.18 | 0 | 0 |
| Chainguard | hyperv-daemons-generic | 0 | 0 |
| Chainguard | linux | 0 | 0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-aws-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-headers | 0 | 0 |
| Chainguard | linux-aws-6.12-modules | 0 | 0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-aws-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-headers | 0 | 0 |
| Chainguard | linux-aws-6.18-modules | 0 | 0 |
| Chainguard | linux-aws-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-aws-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-aws-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-aws-generic-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-headers | 0 | 0 |
| Chainguard | linux-aws-generic-modules | 0 | 0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.65-r1 |
| Chainguard | linux-azure-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-headers | 0 | 0 |
| Chainguard | linux-azure-6.12-modules | 0 | 0 |
| Chainguard | linux-azure-6.18 | 0 | 0 |
| Chainguard | linux-azure-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-headers | 0 | 0 |
| Chainguard | linux-azure-6.18-modules | 0 | 0 |
| Chainguard | linux-azure-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-azure-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-azure-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-azure-generic-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-headers | 0 | 0 |
| Chainguard | linux-azure-generic-modules | 0 | 0 |
| Chainguard | linux-boot-configuration | 0 | 0 |
| Chainguard | linux-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-gcp-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-headers | 0 | 0 |
| Chainguard | linux-gcp-6.12-modules | 0 | 0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-gcp-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-headers | 0 | 0 |
| Chainguard | linux-gcp-6.18-modules | 0 | 0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-gcp-generic-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-headers | 0 | 0 |
| Chainguard | linux-gcp-generic-modules | 0 | 0 |
| Chainguard | linux-modules | 0 | 0 |
| Chainguard | linux-qemu-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.4-r0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-headers | 0 | 0 |
| Chainguard | linux-qemu-generic-modules | 0 | 0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc4-r0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc5-r0 |
| Chainguard | linux-qemu-rc-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-headers | 0 | 0 |
| Chainguard | linux-qemu-rc-modules | 0 | 0 |
| Chainguard | linux-vmware-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.18 | 0 | 6.18.7-r0 |
| Chainguard | linux-vmware-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-vmware-generic-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-headers | 0 | 0 |
| Chainguard | linux-vmware-generic-modules | 0 | 0 |
| Debian:10 | linux-5.10 | 0 | 5.10.216-1~deb10u1 |
| Debian:11 | linux | 0 | 5.10.215-1 |
| Debian:12 | linux | 0 | 6.1.85-1 |
| Debian:13 | linux | 0 | 6.7.12-1 |
| Red Hat:enterprise_linux:8::baseos | bpftool | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | bpftool-debuginfo | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-abi-stablelists | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-core | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-cross-headers | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-core | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-debuginfo | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-devel | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules | 0 | 0:4.18.0-513.24.1.el8_9 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules-extra | 0 | 0:4.18.0-513.24.1.el8_9 |
Related vulnerabilities
- CVE-2025-68301 In the Linux kernel, the following vulnerability has been resolved: net: atlantic: fix… Also affects bpftool
- CVE-2025-68285 In the Linux kernel, the following vulnerability has been resolved: libceph: fix… Also affects bpftool
- CVE-2025-40277 In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate… Also affects bpftool
- CVE-2025-40248 In the Linux kernel, the following vulnerability has been resolved: vsock: Ignore… Also affects bpftool
- CVE-2025-40240 In the Linux kernel, the following vulnerability has been resolved: sctp: avoid NULL… Also affects bpftool
- CVE-2025-40154 In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel… Also affects bpftool
- CVE-2025-40096 In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix… Also affects bpftool
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects bpftool