CVE-2024-46698

Source
https://cve.org/CVERecord?id=CVE-2024-46698
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46698.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-46698
Downstream
Published
2024-09-13T05:29:25.387Z
Modified
2026-03-20T12:39:04.949634Z
Summary
video/aperture: optionally match the device in sysfb_disable()
Details

In the Linux kernel, the following vulnerability has been resolved:

video/aperture: optionally match the device in sysfb_disable()

In apertureremoveconflictingpcidevices(), we currently only call sysfb_disable() on vga class devices. This leads to the following problem when the pimary device is not VGA compatible:

  1. A PCI device with a non-VGA class is the boot display
  2. That device is probed first and it is not a VGA device so sysfbdisable() is not called, but the device resources are freed by aperturedetachplatformdevice()
  3. Non-primary GPU has a VGA class and it ends up calling sysfb_disable()
  4. NULL pointer dereference via sysfbdisable() since the resources have already been freed by aperturedetachplatformdevice() when it was called by the other device.

Fix this by passing a device pointer to sysfb_disable() and checking the device to determine if we should execute it or not.

v2: Fix build when CONFIGSCREENINFO is not set v3: Move device check into the mutex Drop primary variable in apertureremoveconflictingpcidevices() Drop __init on pci sysfbpcidevisenabled()

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/46xxx/CVE-2024-46698.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5ae3716cfdcd286268133867f67d0803847acefc
Fixed
17e78f43de0c6da34204cc858b4cc05671ea9acf
Fixed
b49420d6a1aeb399e5b107fc6eb8584d0860fbd7
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
485ec8f8e1d8ae12aa1daa5ad345ba8940ad2db7

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46698.json"