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

drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN

__drm_fb_helper_initial_config_and_unlock() calls
drm_client_modeset_probe() first, which already fills in each
mode_set->mode/num_connectors for every connected output, and only
afterwards calls drm_fb_helper_single_fb_probe() to create
fb_helper->fb and wire it into those mode_sets via
drm_setup_crtcs_fb().

If drm_fb_helper_single_fb_probe() fails with anything other than
-EAGAIN (e.g. dev->driver->fbdev_probe() itself fails), the function
bails out before drm_setup_crtcs_fb() runs and before setting
fb_helper->deferred_setup. The client is left with mode_sets that
have a mode and connectors but mode_set->fb == NULL, and nothing
marks this fb_helper as needing a retry.

__drm_fb_helper_restore_fbdev_mode_unlocked() only skips committing
when fb_helper->deferred_setup is set, so a later .restore() call
(drm_lastclose() on process exit, in this report) commits the stale
mode_set through drm_client_modeset_commit() ->
drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(),
which hits WARN_ON(!set->fb).

Mark fb_helper->deferred_setup on any drm_fb_helper_single_fb_probe()
failure, not just -EAGAIN, so restore keeps skipping the commit until
a later hotplug event successfully re-probes and re-populates
mode_set->fb. The real error code is still returned to the caller
unchanged.
Published: 2026-10-23
Score: 4.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Inconsistent framebuffer configuration with kernel warnings
Action: Apply patch
AI Analysis

Impact

The vulnerability arises when the DRM framebuffer helper does not defer mode‑set configuration if fbdev_probe() fails with an error other than -EAGAIN. This omission leaves underlying mode sets with valid modes and connectors but no associated framebuffer, and the helper is not marked for retry. Subsequent restore operations commit the stale configuration, triggering a kernel warning about a missing framebuffer pointer. The flaw is a lack of proper error handling for probe failures.

Affected Systems

All Linux kernel builds that include the unpatched DRM framebuffer helper code are potentially impacted. The available information does not specify a version range, so any kernel version prior to the commit that introduced the defer‑setup change is vulnerable.

Risk and Exploitability

The CVSS score of 4.7 and an EPSS score of less than 1% indicate a low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Because the defect is confined to kernel mode and requires a probe failure during driver initialization, it is unlikely to be exploitable remotely; local or privileged access that triggers the probe failure would be necessary. The primary risk is to kernel stability, manifested by unexpected warnings and potential unstable driver behavior, rather than classic attack objectives such as code execution or data exfiltration. The likely attack vector is local or privileged (inferred).

Generated by OpenCVE AI on October 29, 2026 at 22:08 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the kernel to a version that contains the fix commit (e.g., commit 3b303696f61461b3569019d7fcac6a646652b2b4) which defers setup on all probe failures.
  • If an immediate kernel upgrade is not possible, temporarily disable or blacklist the affected DRM framebuffer module, or configure the display subsystem to use an alternative backend.
  • Coordinate with your distribution or kernel maintainers to backport or include the fix if your kernel version does not have it.

Generated by OpenCVE AI on October 29, 2026 at 22:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-9018-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9018-2 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9022-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9023-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9024-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9025-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9026-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9039-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-9040-1 Linux kernel (Low Latency NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9066-1 Linux kernel (HWE) vulnerabilities
History

Fri, 30 Oct 2026 13:00:00 +0000


Thu, 29 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-390

Thu, 29 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-617
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 23 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-390

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN __drm_fb_helper_initial_config_and_unlock() calls drm_client_modeset_probe() first, which already fills in each mode_set->mode/num_connectors for every connected output, and only afterwards calls drm_fb_helper_single_fb_probe() to create fb_helper->fb and wire it into those mode_sets via drm_setup_crtcs_fb(). If drm_fb_helper_single_fb_probe() fails with anything other than -EAGAIN (e.g. dev->driver->fbdev_probe() itself fails), the function bails out before drm_setup_crtcs_fb() runs and before setting fb_helper->deferred_setup. The client is left with mode_sets that have a mode and connectors but mode_set->fb == NULL, and nothing marks this fb_helper as needing a retry. __drm_fb_helper_restore_fbdev_mode_unlocked() only skips committing when fb_helper->deferred_setup is set, so a later .restore() call (drm_lastclose() on process exit, in this report) commits the stale mode_set through drm_client_modeset_commit() -> drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(), which hits WARN_ON(!set->fb). Mark fb_helper->deferred_setup on any drm_fb_helper_single_fb_probe() failure, not just -EAGAIN, so restore keeps skipping the commit until a later hotplug event successfully re-probes and re-populates mode_set->fb. The real error code is still returned to the caller unchanged.
Title drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-30T12:40:51.342Z

Reserved: 2026-09-25T10:25:14.385Z

Link: CVE-2026-99007

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:23.157

Modified: 2026-10-30T13:21:35.327

Link: CVE-2026-99007

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-99007 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T22:15:04Z

Weaknesses