CVE Vulnerabilities

CVE-2022-42257

Integer Overflow or Wraparound

Published: Dec 30, 2022 | Modified: Oct 19, 2023
CVSS 3.x
7.3
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

NVIDIA GPU Display Driver for Linux contains a vulnerability in the kernel mode layer (nvidia.ko), where an integer overflow may lead to information disclosure, data tampering or denial of service.

Weakness

The product performs a calculation that can produce an integer overflow or wraparound, when the logic assumes that the resulting value will always be larger than the original value. This can introduce other weaknesses when the calculation is used for resource management or execution control.

Affected Software

Name Vendor Start Version End Version
Gpu_display_driver Nvidia 390 (including) 390.157 (excluding)
Gpu_display_driver Nvidia 470 (including) 470.161.03 (excluding)
Gpu_display_driver Nvidia 510 (including) 510.108.03 (excluding)
Gpu_display_driver Nvidia 515 (including) 515.86.01 (excluding)
Gpu_display_driver Nvidia 525 (including) 525.60.11 (excluding)
Nvidia-graphics-drivers-304 Ubuntu esm-infra/xenial *
Nvidia-graphics-drivers-304 Ubuntu trusty *
Nvidia-graphics-drivers-304 Ubuntu xenial *
Nvidia-graphics-drivers-304-updates Ubuntu trusty *
Nvidia-graphics-drivers-304-updates Ubuntu xenial *
Nvidia-graphics-drivers-340 Ubuntu bionic *
Nvidia-graphics-drivers-340 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-340 Ubuntu esm-infra/xenial *
Nvidia-graphics-drivers-340 Ubuntu focal *
Nvidia-graphics-drivers-340 Ubuntu trusty *
Nvidia-graphics-drivers-340 Ubuntu xenial *
Nvidia-graphics-drivers-340-updates Ubuntu trusty *
Nvidia-graphics-drivers-352 Ubuntu trusty *
Nvidia-graphics-drivers-352-updates Ubuntu trusty *
Nvidia-graphics-drivers-367 Ubuntu trusty *
Nvidia-graphics-drivers-375 Ubuntu trusty *
Nvidia-graphics-drivers-384 Ubuntu trusty *
Nvidia-graphics-drivers-384 Ubuntu xenial *
Nvidia-graphics-drivers-390 Ubuntu bionic *
Nvidia-graphics-drivers-390 Ubuntu focal *
Nvidia-graphics-drivers-390 Ubuntu jammy *
Nvidia-graphics-drivers-390 Ubuntu kinetic *
Nvidia-graphics-drivers-390 Ubuntu lunar *
Nvidia-graphics-drivers-390 Ubuntu upstream *
Nvidia-graphics-drivers-418-server Ubuntu bionic *
Nvidia-graphics-drivers-418-server Ubuntu esm-apps/bionic *
Nvidia-graphics-drivers-418-server Ubuntu esm-apps/focal *
Nvidia-graphics-drivers-418-server Ubuntu focal *
Nvidia-graphics-drivers-418-server Ubuntu jammy *
Nvidia-graphics-drivers-430 Ubuntu bionic *
Nvidia-graphics-drivers-430 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-430 Ubuntu focal *
Nvidia-graphics-drivers-430 Ubuntu jammy *
Nvidia-graphics-drivers-430 Ubuntu kinetic *
Nvidia-graphics-drivers-430 Ubuntu lunar *
Nvidia-graphics-drivers-430 Ubuntu mantic *
Nvidia-graphics-drivers-435 Ubuntu bionic *
Nvidia-graphics-drivers-435 Ubuntu esm-apps/jammy *
Nvidia-graphics-drivers-435 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-435 Ubuntu focal *
Nvidia-graphics-drivers-435 Ubuntu jammy *
Nvidia-graphics-drivers-435 Ubuntu kinetic *
Nvidia-graphics-drivers-435 Ubuntu lunar *
Nvidia-graphics-drivers-435 Ubuntu mantic *
Nvidia-graphics-drivers-440 Ubuntu bionic *
Nvidia-graphics-drivers-440 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-440 Ubuntu focal *
Nvidia-graphics-drivers-440 Ubuntu jammy *
Nvidia-graphics-drivers-440 Ubuntu kinetic *
Nvidia-graphics-drivers-440 Ubuntu lunar *
Nvidia-graphics-drivers-440 Ubuntu mantic *
Nvidia-graphics-drivers-440-server Ubuntu bionic *
Nvidia-graphics-drivers-440-server Ubuntu esm-apps/bionic *
Nvidia-graphics-drivers-440-server Ubuntu esm-apps/focal *
Nvidia-graphics-drivers-440-server Ubuntu esm-apps/jammy *
Nvidia-graphics-drivers-440-server Ubuntu focal *
Nvidia-graphics-drivers-440-server Ubuntu jammy *
Nvidia-graphics-drivers-440-server Ubuntu kinetic *
Nvidia-graphics-drivers-440-server Ubuntu lunar *
Nvidia-graphics-drivers-450 Ubuntu bionic *
Nvidia-graphics-drivers-450 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-450 Ubuntu focal *
Nvidia-graphics-drivers-450 Ubuntu jammy *
Nvidia-graphics-drivers-450 Ubuntu kinetic *
Nvidia-graphics-drivers-450 Ubuntu lunar *
Nvidia-graphics-drivers-450 Ubuntu mantic *
Nvidia-graphics-drivers-450-server Ubuntu bionic *
Nvidia-graphics-drivers-450-server Ubuntu focal *
Nvidia-graphics-drivers-450-server Ubuntu jammy *
Nvidia-graphics-drivers-450-server Ubuntu kinetic *
Nvidia-graphics-drivers-450-server Ubuntu lunar *
Nvidia-graphics-drivers-450-server Ubuntu upstream *
Nvidia-graphics-drivers-455 Ubuntu bionic *
Nvidia-graphics-drivers-455 Ubuntu esm-apps/bionic *
Nvidia-graphics-drivers-455 Ubuntu esm-apps/focal *
Nvidia-graphics-drivers-455 Ubuntu focal *
Nvidia-graphics-drivers-455 Ubuntu jammy *
Nvidia-graphics-drivers-455 Ubuntu kinetic *
Nvidia-graphics-drivers-455 Ubuntu lunar *
Nvidia-graphics-drivers-455 Ubuntu mantic *
Nvidia-graphics-drivers-460 Ubuntu bionic *
Nvidia-graphics-drivers-460 Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-460 Ubuntu focal *
Nvidia-graphics-drivers-460 Ubuntu jammy *
Nvidia-graphics-drivers-460 Ubuntu kinetic *
Nvidia-graphics-drivers-460 Ubuntu lunar *
Nvidia-graphics-drivers-460 Ubuntu mantic *
Nvidia-graphics-drivers-460-server Ubuntu bionic *
Nvidia-graphics-drivers-460-server Ubuntu esm-infra/bionic *
Nvidia-graphics-drivers-460-server Ubuntu focal *
Nvidia-graphics-drivers-470 Ubuntu bionic *
Nvidia-graphics-drivers-470 Ubuntu focal *
Nvidia-graphics-drivers-470 Ubuntu jammy *
Nvidia-graphics-drivers-470 Ubuntu kinetic *
Nvidia-graphics-drivers-470 Ubuntu lunar *
Nvidia-graphics-drivers-470 Ubuntu mantic *
Nvidia-graphics-drivers-470 Ubuntu noble *
Nvidia-graphics-drivers-470 Ubuntu upstream *
Nvidia-graphics-drivers-470-server Ubuntu bionic *
Nvidia-graphics-drivers-470-server Ubuntu focal *
Nvidia-graphics-drivers-470-server Ubuntu jammy *
Nvidia-graphics-drivers-470-server Ubuntu kinetic *
Nvidia-graphics-drivers-470-server Ubuntu lunar *
Nvidia-graphics-drivers-470-server Ubuntu mantic *
Nvidia-graphics-drivers-470-server Ubuntu noble *
Nvidia-graphics-drivers-470-server Ubuntu upstream *
Nvidia-graphics-drivers-510 Ubuntu bionic *
Nvidia-graphics-drivers-510 Ubuntu focal *
Nvidia-graphics-drivers-510 Ubuntu jammy *
Nvidia-graphics-drivers-510 Ubuntu kinetic *
Nvidia-graphics-drivers-510 Ubuntu lunar *
Nvidia-graphics-drivers-510 Ubuntu mantic *
Nvidia-graphics-drivers-510 Ubuntu upstream *
Nvidia-graphics-drivers-510-server Ubuntu upstream *
Nvidia-graphics-drivers-515 Ubuntu bionic *
Nvidia-graphics-drivers-515 Ubuntu focal *
Nvidia-graphics-drivers-515 Ubuntu jammy *
Nvidia-graphics-drivers-515 Ubuntu kinetic *
Nvidia-graphics-drivers-515 Ubuntu lunar *
Nvidia-graphics-drivers-515 Ubuntu mantic *
Nvidia-graphics-drivers-515 Ubuntu upstream *
Nvidia-graphics-drivers-515-server Ubuntu bionic *
Nvidia-graphics-drivers-515-server Ubuntu focal *
Nvidia-graphics-drivers-515-server Ubuntu jammy *
Nvidia-graphics-drivers-515-server Ubuntu kinetic *
Nvidia-graphics-drivers-515-server Ubuntu lunar *
Nvidia-graphics-drivers-515-server Ubuntu upstream *

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • If possible, choose a language or compiler that performs automatic bounds checking.
  • Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • Use libraries or frameworks that make it easier to handle numbers without unexpected consequences.
  • Examples include safe integer handling packages such as SafeInt (C++) or IntegerLib (C or C++). [REF-106]
  • Perform input validation on any numeric input by ensuring that it is within the expected range. Enforce that the input meets both the minimum and maximum requirements for the expected range.
  • Use unsigned integers where possible. This makes it easier to perform validation for integer overflows. When signed integers are required, ensure that the range check includes minimum values as well as maximum values.
  • Understand the programming language’s underlying representation and how it interacts with numeric calculation (CWE-681). Pay close attention to byte size discrepancies, precision, signed/unsigned distinctions, truncation, conversion and casting between types, “not-a-number” calculations, and how the language handles numbers that are too large or too small for its underlying representation. [REF-7]
  • Also be careful to account for 32-bit, 64-bit, and other potential differences that may affect the numeric representation.

References