CVE-2025-40304: Linux kernel · fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds
Source GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 26 Oct 2026, 13:47 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 3% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 8 Dec 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
AI-suggested
A fix has been implemented in the Linux kernel to add proper bounds checking in the bit_putcs function of the fbdev subsystem. Users and administrators should apply the official kernel updates that include this patch. Patch status is not explicitly confirmed in the provided data; therefore, check the vendor advisory or Linux kernel mailing lists for the specific fixed versions and apply updates accordingly.
Description
A vulnerability in the Linux kernel framebuffer device (fbdev) subsystem allowed out-of-bounds writes due to missing bounds checking in the bit_putcs function. This issue could cause memory corruption when rendering text near screen edges. The vulnerability has been resolved by adding bounds checks to prevent writes past framebuffer boundaries and ensuring character counts match clipped widths to avoid buffer size mismatches.
References
- nvd.nist.gov/vuln/detail/CVE-2025-40304 (opens in a new tab)
- git.kernel.org/stable/c/15ba9acafb0517f8359ca30002c189a68ddbb939 (opens in a new tab)
- git.kernel.org/stable/c/1943b69e87b0ab35032d47de0a7fca9a3d1d6fc1 (opens in a new tab)
- git.kernel.org/stable/c/2d1359e11674ed4274934eac8a71877ae5ae7bbb (opens in a new tab)
- git.kernel.org/stable/c/3637d34b35b287ab830e66048841ace404382b67 (opens in a new tab)
- git.kernel.org/stable/c/86df8ade88d290725554cefd03101ecd0fbd3752 (opens in a new tab)
- git.kernel.org/stable/c/996bfaa7372d6718b6d860bdf78f6618e850c702 (opens in a new tab)
- git.kernel.org/stable/c/ebc0730b490c7f27340b1222e01dd106e820320d (opens in a new tab)
- git.kernel.org/stable/c/f0982400648a3e00580253e0c48e991f34d2684c (opens in a new tab)