[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025061804-CVE-2022-50102-9efe@gregkh>
Date: Wed, 18 Jun 2025 13:02:47 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50102: video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
Since the user can control the arguments of the ioctl() from the user
space, under special arguments that may result in a divide-by-zero bug
in:
drivers/video/fbdev/arkfb.c:784: ark_set_pixclock(info, (hdiv * info->var.pixclock) / hmul);
with hdiv=1, pixclock=1 and hmul=2 you end up with (1*1)/2 = (int) 0.
and then in:
drivers/video/fbdev/arkfb.c:504: rv = dac_set_freq(par->dac, 0, 1000000000 / pixclock);
we'll get a division-by-zero.
The following log can reveal it:
divide error: 0000 [#1] PREEMPT SMP KASAN PTI
RIP: 0010:ark_set_pixclock drivers/video/fbdev/arkfb.c:504 [inline]
RIP: 0010:arkfb_set_par+0x10fc/0x24c0 drivers/video/fbdev/arkfb.c:784
Call Trace:
fb_set_var+0x604/0xeb0 drivers/video/fbdev/core/fbmem.c:1034
do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1110
fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1189
Fix this by checking the argument of ark_set_pixclock() first.
The Linux kernel CVE team has assigned CVE-2022-50102 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 4.14.291 with commit 76b3f0a0b56e53a960a14624a0f48b3d94b5e7e7
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 4.19.256 with commit b9a66f23612b84617e04412169e155a4b92f632d
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 5.4.211 with commit a249e1b89ca25e1c34bdf96154e3f6224a91a9af
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 5.10.137 with commit 0288fa799e273b08839037499d704dc7bdc13e9a
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 5.15.61 with commit 236c1502520b7b08955467ec2e50b3232e34f1f9
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 5.18.18 with commit 9ebc5031958c1f3a2795e4533b4091d77c738d14
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 5.19.2 with commit 15661642511b2b192077684a89f42a8d95d54286
Issue introduced in 2.6.22 with commit 681e14730c73cc2c71af282c001de6bc71c22f00 and fixed in 6.0 with commit 2f1c4523f7a3aaabe7e53d3ebd378292947e95c8
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-50102
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/video/fbdev/arkfb.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/76b3f0a0b56e53a960a14624a0f48b3d94b5e7e7
https://git.kernel.org/stable/c/b9a66f23612b84617e04412169e155a4b92f632d
https://git.kernel.org/stable/c/a249e1b89ca25e1c34bdf96154e3f6224a91a9af
https://git.kernel.org/stable/c/0288fa799e273b08839037499d704dc7bdc13e9a
https://git.kernel.org/stable/c/236c1502520b7b08955467ec2e50b3232e34f1f9
https://git.kernel.org/stable/c/9ebc5031958c1f3a2795e4533b4091d77c738d14
https://git.kernel.org/stable/c/15661642511b2b192077684a89f42a8d95d54286
https://git.kernel.org/stable/c/2f1c4523f7a3aaabe7e53d3ebd378292947e95c8
Powered by blists - more mailing lists