lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ