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

fbdev: core: Fix pointer desynchronization in fb_io_read()

In fb_io_read(), if copy_to_user() performs a partial copy (e.g., due to
a faulty user buffer), the loop adjusts the chunk size 'c' and updates
the remaining 'count'. However, the hardware 'src' pointer has already
been eagerly advanced by the original chunk size.

If the loop is allowed to continue, the read will resume from an
incorrect, over-advanced offset. Since the remaining 'count' was only
decremented by the successful bytes, this desynchronization causes the
next iterations to execute more hardware reads than originally bounded,
eventually leading to out-of-bounds I/O reads.

Fix this by breaking out of the loop immediately upon a partial
copy_to_user(). A partial copy indicates a faulty user buffer, making
subsequent read attempts futile. Breaking out ensures we return the
number of successfully read bytes without risking out-of-bounds hardware
accesses in subsequent mismatched iterations.
Published: 2026-08-26
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Out-of-Bounds Read potentially exposing kernel memory
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, a flaw in the fbdev core driver’s fb_io_read() function can cause pointer desynchronization when copy_to_user() performs a partial copy. The hardware source pointer is advanced using the original chunk size before the partial copy is detected, leading to additional read cycles that exceed the intended bounds. This results in out-of-bounds I/O reads of framebuffer memory and may expose unintended kernel memory contents. The vulnerability is classified as an out-of-bounds read (CWE-125).

Affected Systems

The issue is present in all Linux kernel releases that include the fbdev core driver before the patch is applied. Any system running a vulnerable kernel build—typically unmodified Linux kernel images shipped by distributions—is at risk.

Risk and Exploitability

The CVSS score of 7.3 reflects significant relevance to confidentiality and availability. The EPSS score is below 1%, indicating an unlikely current exploitation rate. The vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that a local user with access to framebuffer devices (e.g., /dev/fb0) would need to trigger the flaw by issuing read requests that result in partial copy_to_user() operations.

Generated by OpenCVE AI on August 28, 2026 at 19:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the fbdev patch that prevents pointer desynchronization in fb_io_read()
  • Reboot the system to load the updated kernel module and ensure the fix is active
  • Restrict access to framebuffer devices (e.g., modify /dev/fb* permissions or employ SELinux/AppArmor policies) to limit exposure to untrusted users

Generated by OpenCVE AI on August 28, 2026 at 19:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 27 Aug 2026 18:00:00 +0000

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

None

threat_severity

Moderate


Thu, 27 Aug 2026 10:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 27 Aug 2026 08:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Thu, 27 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Wed, 26 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: fbdev: core: Fix pointer desynchronization in fb_io_read() In fb_io_read(), if copy_to_user() performs a partial copy (e.g., due to a faulty user buffer), the loop adjusts the chunk size 'c' and updates the remaining 'count'. However, the hardware 'src' pointer has already been eagerly advanced by the original chunk size. If the loop is allowed to continue, the read will resume from an incorrect, over-advanced offset. Since the remaining 'count' was only decremented by the successful bytes, this desynchronization causes the next iterations to execute more hardware reads than originally bounded, eventually leading to out-of-bounds I/O reads. Fix this by breaking out of the loop immediately upon a partial copy_to_user(). A partial copy indicates a faulty user buffer, making subsequent read attempts futile. Breaking out ensures we return the number of successfully read bytes without risking out-of-bounds hardware accesses in subsequent mismatched iterations.
Title fbdev: core: Fix pointer desynchronization in fb_io_read()
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 Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T05:01:59.582Z

Reserved: 2026-08-26T14:34:25.769Z

Link: CVE-2026-80578

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:17:13.880

Modified: 2026-08-27T06:17:43.823

Link: CVE-2026-80578

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-26T00:00:00Z

Links: CVE-2026-80578 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T19:30:16Z

Weaknesses