fbcon: fix integer overflow in fbcon_do_set_font
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.4.300, 4.5, 4.10, 4.15, 4.20, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: fbcon: fix integer overflow in fbcon_do_set_font Fix integer overflow vulnerabilities in fbcon_do_set_font() where font size calculations could overflow when handling user-controlled font parameters. The vulnerabilities occur when: 1. CALC_FONTSZ(h, pitch, charcount) performs h * pith * charcount multiplication with user-controlled values that can overflow. 2. FONT_EXTRA_WORDS * sizeof(int) + size addition can also overflow 3. This results in smaller allocations than expected, leading to buffer overflows during font data copying. Add explicit overflow checking using check_mul_overflow() and check_add_overflow() kernel helpers to safety validate all size calculations before allocation.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 5.4.62 · fixed in 5.4.300; From 4.4.235 · fixed in 4.5; From 4.9.235 · fixed in 4.10; From 4.14.196 · fixed in 4.15; From 4.19.143 · fixed in 4.20; From 5.8.6 · fixed in 5.9
- Linux Linux
5.9
References 8
git.kernel.org
- stable/c/994bdc2d23c79087fbf7dcd9544454e8ebcef877
- stable/c/9c8ec14075c5317edd6b242f1be8167aa1e4e333
- stable/c/b8a6e85328aeb9881531dbe89bcd2637a06c3c95
- stable/c/a6eb9f423b3db000aaedf83367b8539f6b72dcfc
- stable/c/adac90bb1aaf45ca66f9db8ac100be16750ace78
- stable/c/4a4bac869560f943edbe3c2b032062f6673b13d3
- stable/c/c0c01f9aa08c8e10e10e8c9ebb5be01a4eff6eb7
- stable/c/1a194e6c8e1ee745e914b0b7f50fa86c89ed13fe