CVE-2022-49978
Severity CVSS v4.0:
Pending analysis
Type:
CWE-369
Divide By Zero
Publication date:
18/06/2025
Last modified:
14/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
fbdev: fb_pm2fb: Avoid potential divide by zero error<br />
<br />
In `do_fb_ioctl()` of fbmem.c, if cmd is FBIOPUT_VSCREENINFO, var will be<br />
copied from user, then go through `fb_set_var()` and<br />
`info->fbops->fb_check_var()` which could may be `pm2fb_check_var()`.<br />
Along the path, `var->pixclock` won&#39;t be modified. This function checks<br />
whether reciprocal of `var->pixclock` is too high. If `var->pixclock` is<br />
zero, there will be a divide by zero error. So, it is necessary to check<br />
whether denominator is zero to avoid crash. As this bug is found by<br />
Syzkaller, logs are listed below.<br />
<br />
divide error in pm2fb_check_var<br />
Call Trace:<br />
<br />
fb_set_var+0x367/0xeb0 drivers/video/fbdev/core/fbmem.c:1015<br />
do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1110<br />
fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1189
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.9.327 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 (including) | 4.14.292 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.257 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.212 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.141 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.65 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.19.7 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0f1174f4972ea9fad6becf8881d71adca8e9ca91
- https://git.kernel.org/stable/c/19f953e7435644b81332dd632ba1b2d80b1e37af
- https://git.kernel.org/stable/c/34c3dea1189525cd533071ed5c176fc4ea8d982b
- https://git.kernel.org/stable/c/3ec326a6a0d4667585ca595f438c7293e5ced7c4
- https://git.kernel.org/stable/c/7d9591b32a9092fc6391a316b56e8016c6181c3d
- https://git.kernel.org/stable/c/7f88cdfea8d7f4dbaf423d808241403b2bb945e4
- https://git.kernel.org/stable/c/8fc778ee2fb2853f7a3531fa7273349640d8e4e9
- https://git.kernel.org/stable/c/cb4bb011a683532841344ca7f281b5e04389b4f8



