CVE-2022-49978

fbdev: fb_pm2fb: Avoid potential divide by zero error

MEDIUM
5.5
CVSS Score
Published: June 18, 2025 at 11:00 AM UTC
Updated: June 17, 2026 at 05:19 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%

Description

In the Linux kernel, the following vulnerability has been resolved: fbdev: fb_pm2fb: Avoid potential divide by zero error In `do_fb_ioctl()` of fbmem.c, if cmd is FBIOPUT_VSCREENINFO, var will be copied from user, then go through `fb_set_var()` and `info->fbops->fb_check_var()` which could may be `pm2fb_check_var()`. Along the path, `var->pixclock` won't be modified. This function checks whether reciprocal of `var->pixclock` is too high. If `var->pixclock` is zero, there will be a divide by zero error. So, it is necessary to check whether denominator is zero to avoid crash. As this bug is found by Syzkaller, logs are listed below. divide error in pm2fb_check_var Call Trace: <TASK> fb_set_var+0x367/0xeb0 drivers/video/fbdev/core/fbmem.c:1015 do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1110 fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1189

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 4.9.3272.6.12 ≤ v < 4.14.2922.6.12 ≤ v < 4.19.2572.6.12 ≤ v < 4.9.3272.6.12 ≤ v < 5.10.1412.6.12 ≤ v < 5.15.652.6.12 ≤ v < 5.19.72.6.12 ≤ v < 5.4.2122.6.12 ≤ v < 6.04.10 ≤ v < 4.14.2924.15 ≤ v < 4.19.2574.20 ≤ v < 5.4.2125.11 ≤ v < 5.15.655.16 ≤ v < 5.19.75.5 ≤ v < 5.10.1411da177e4c3f41524e886b7f1b8a0c1fc7321cac22.6.126.0 rc16.0 rc2
Vendor states this is fixed in 0f1174f4972ea9fad6becf8881d71adca8e9ca91 (fixed)
Vendor states this is fixed in 19f953e7435644b81332dd632ba1b2d80b1e37af (fixed)
Vendor states this is fixed in 34c3dea1189525cd533071ed5c176fc4ea8d982b (fixed)
Vendor states this is fixed in 3ec326a6a0d4667585ca595f438c7293e5ced7c4 (fixed)
Vendor states this is fixed in 7d9591b32a9092fc6391a316b56e8016c6181c3d (fixed)
Vendor states this is fixed in 7f88cdfea8d7f4dbaf423d808241403b2bb945e4 (fixed)
Vendor states this is fixed in 8fc778ee2fb2853f7a3531fa7273349640d8e4e9 (fixed)
Vendor states this is fixed in cb4bb011a683532841344ca7f281b5e04389b4f8 (fixed)
Vendor states this is fixed in 2.6.12 (unaffected)
Vendor states this is fixed in 4.14.292 (unaffected)
Vendor states this is fixed in 4.19.257 (unaffected)
Vendor states this is fixed in 4.9.327 (unaffected)
Vendor states this is fixed in 5.10.141 (unaffected)
Vendor states this is fixed in 5.15.65 (unaffected)
Vendor states this is fixed in 5.19.7 (unaffected)
Vendor states this is fixed in 5.4.212 (unaffected)
Vendor states this is fixed in 6.0 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0f1174f4972ea9fad6becf8881d71adca8e9ca91
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/19f953e7435644b81332dd632ba1b2d80b1e37af
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/34c3dea1189525cd533071ed5c176fc4ea8d982b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3ec326a6a0d4667585ca595f438c7293e5ced7c4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7d9591b32a9092fc6391a316b56e8016c6181c3d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7f88cdfea8d7f4dbaf423d808241403b2bb945e4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8fc778ee2fb2853f7a3531fa7273349640d8e4e9
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cb4bb011a683532841344ca7f281b5e04389b4f8

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-369

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card