CVE-2022-50102

video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()

MEDIUM
5.5
CVSS Score
Published: June 18, 2025 at 11:02 AM UTC
Updated: June 17, 2026 at 05:22 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.2%

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.

Affected

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

2.6.22 ≤ v < 4.14.2912.6.22 ≤ v < 4.19.2562.6.22 ≤ v < 5.10.1372.6.22 ≤ v < 5.15.612.6.22 ≤ v < 5.18.182.6.22 ≤ v < 5.19.22.6.22 ≤ v < 5.4.2112.6.22 ≤ v < 6.04.15 ≤ v < 4.19.2564.20 ≤ v < 5.4.2115.11 ≤ v < 5.15.615.16 ≤ v < 5.18.185.19 ≤ v < 5.19.25.5 ≤ v < 5.10.1372.6.22681e14730c73cc2c71af282c001de6bc71c22f00
Vendor states this is fixed in 0288fa799e273b08839037499d704dc7bdc13e9a (fixed)
Vendor states this is fixed in 15661642511b2b192077684a89f42a8d95d54286 (fixed)
Vendor states this is fixed in 236c1502520b7b08955467ec2e50b3232e34f1f9 (fixed)
Vendor states this is fixed in 2f1c4523f7a3aaabe7e53d3ebd378292947e95c8 (fixed)
Vendor states this is fixed in 76b3f0a0b56e53a960a14624a0f48b3d94b5e7e7 (fixed)
Vendor states this is fixed in 9ebc5031958c1f3a2795e4533b4091d77c738d14 (fixed)
Vendor states this is fixed in a249e1b89ca25e1c34bdf96154e3f6224a91a9af (fixed)
Vendor states this is fixed in b9a66f23612b84617e04412169e155a4b92f632d (fixed)
Vendor states this is fixed in 2.6.22 (unaffected)
Vendor states this is fixed in 4.14.291 (unaffected)
Vendor states this is fixed in 4.19.256 (unaffected)
Vendor states this is fixed in 5.10.137 (unaffected)
Vendor states this is fixed in 5.15.61 (unaffected)
Vendor states this is fixed in 5.18.18 (unaffected)
Vendor states this is fixed in 5.19.2 (unaffected)
Vendor states this is fixed in 5.4.211 (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/0288fa799e273b08839037499d704dc7bdc13e9a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/15661642511b2b192077684a89f42a8d95d54286
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/236c1502520b7b08955467ec2e50b3232e34f1f9
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2f1c4523f7a3aaabe7e53d3ebd378292947e95c8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/76b3f0a0b56e53a960a14624a0f48b3d94b5e7e7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9ebc5031958c1f3a2795e4533b4091d77c738d14
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a249e1b89ca25e1c34bdf96154e3f6224a91a9af
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b9a66f23612b84617e04412169e155a4b92f632d

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