CVE Vulnerabilities

CVE-2018-18090

Out-of-bounds Read

Published: Mar 14, 2019 | Modified: Apr 04, 2019
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
2.1 LOW
AV:L/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu

Out of bounds read in igdkm64.sys in Intel(R) Graphics Driver for Windows* before versions 10.18.x.5059 (aka 15.33.x.5059), 10.18.x.5057 (aka 15.36.x.5057), 20.19.x.5063 (aka 15.40.x.5063) 21.20.x.5064 (aka 15.45.x.5064) and 24.20.100.6373 may allow an authenticated user to potentially enable denial of service via local access.

Weakness

The product reads data past the end, or before the beginning, of the intended buffer.

Affected Software

Name Vendor Start Version End Version
Graphics_driver Intel 15.33.43.4425 15.33.43.4425
Graphics_driver Intel 15.33.45.4653 15.33.45.4653
Graphics_driver Intel 15.33.46.4885 15.33.46.4885
Graphics_driver Intel 15.36.26.4294 15.36.26.4294
Graphics_driver Intel 15.36.28.4332 15.36.28.4332
Graphics_driver Intel 15.36.31.4414 15.36.31.4414
Graphics_driver Intel 15.36.33.4578 15.36.33.4578
Graphics_driver Intel 15.36.34.4889 15.36.34.4889
Graphics_driver Intel 15.40.34.4624 15.40.34.4624
Graphics_driver Intel 15.40.36.4703 15.40.36.4703
Graphics_driver Intel 15.40.37.4835 15.40.37.4835
Graphics_driver Intel 15.40.38.4963 15.40.38.4963
Graphics_driver Intel 15.40.41.5058 15.40.41.5058
Graphics_driver Intel 15.45.18.4664 15.45.18.4664
Graphics_driver Intel 15.45.19.4678 15.45.19.4678
Graphics_driver Intel 15.45.21.4821 15.45.21.4821
Graphics_driver Intel 15.45.23.4860 15.45.23.4860
Graphics_driver Intel 24.20.100.6025 24.20.100.6025
Graphics_driver Intel 24.20.100.6094 24.20.100.6094
Graphics_driver Intel 24.20.100.6136 24.20.100.6136
Graphics_driver Intel 24.20.100.6194 24.20.100.6194
Graphics_driver Intel 24.20.100.6229 24.20.100.6229
Graphics_driver Intel 24.20.100.6286 24.20.100.6286

Potential Mitigations

  • Assume all input is malicious. Use an “accept known good” input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
  • When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, “boat” may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as “red” or “blue.”
  • Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code’s environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
  • To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.

References