CVE-2022-49978
MediumIn 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
CVSS 3.1 score
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness type
CWE-369CVE-2022-49978 is a Divide By Zero vulnerability
What is Divide By Zero?
The product divides a value by zero, causing a crash or unexpected behaviour. Learn more on MITRE CWE
Affected versions
Linux kernel versions
2.6.12
and later are affected. Fixed in
4.9.327,
4.14.292,
4.19.257,
5.4.212,
5.10.141,
5.15.65,
5.19.7,
6.0
and their respective stable series.
References
The following references provide additional information about CVE-2022-49978 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/0f1174f4972ea9fad6becf8881d71adca8e9ca91
-
PatchKernel patch commithttps://git.kernel.org/stable/c/19f953e7435644b81332dd632ba1b2d80b1e37af
-
PatchKernel patch commithttps://git.kernel.org/stable/c/34c3dea1189525cd533071ed5c176fc4ea8d982b
Frequently asked questions
-
What is CVE-2022-49978?
CVE-2022-49978 is a Medium severity Linux kernel vulnerability with a CVSS score of 5.5 out of 10 , classified as a Divide By Zero flaw (CWE-369) . It affects Linux kernel versions from 2.6.12 onward and has been patched in 4.9.327, 4.14.292, 4.19.257 and others. CVE-2022-49978 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2022-49978?
CVE-2022-49978 has a CVSS score of 5.5 out of 10, rated Medium severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. -
Is there a patch available for CVE-2022-49978?
Yes — CVE-2022-49978 has been patched. Fixed versions include 4.9.327, 4.14.292, 4.19.257 and others. If you are running Linux kernel 2.6.12 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2022-49978 actively exploited?
No — CVE-2022-49978 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
-
What is Divide By Zero (CWE-369)?
The product divides a value by zero, causing a crash or unexpected behaviour. View CWE-369 on MITRE CWE →