Cloudanix VulnDB

CVE-2024-49961

None

CVSS

—

EPSS

0.2%

Published

Oct 21, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A small fix stops unnecessary warnings on Linux computers that use a particular camera sensor connected through an extra chip.

Exploitation
Other
Attacker needs
Local User
Complexity
Theoretical
Impact
Denial Of Service
Component
OS kernel
Class
Other
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The ar0521 driver calls the non-sleeping gpiod_set_value() from ar0521_power_on()/ar0521_power_off() even when the reset GPIO is supplied by an I2C port expander, violating the GPIO API contract and producing a warning in gpiolib.

Why it matters to the business

Low-severity operational noise and potential probe delays on embedded systems using the AR0521 sensor behind I2C GPIO expanders; broad Linux distributions carry the defect until updated.

How an attack unfolds

The flaw is a correctness bug, not a security vulnerability. No public exploits or threat-actor campaigns target it; exploitation is not feasible because the only observable effect is a kernel warning during device power sequencing.

How to fix it

Upgrade the kernel to commit 9f08876d766755a92f1b9543ae3ee21bfc596fb8 or install the Rocky Linux 8 module updates listed for each affected package (libvirt 0:6.0.0-35, qemu-kvm 5:4.2.0-48, libguestfs 1:1.40.2-27, etc.).

How to confirm the fix worked

Confirm the running kernel contains commit 9f08876d766755a92f1b9543ae3ee21bfc596fb8; boot an affected system with the AR0521 sensor behind an I2C expander and verify absence of the gpiod_set_value warning during deferred probe.

How to detect it

Search kernel logs and dmesg for the exact warning string "WARNING: .* gpiod_set_value" together with the call trace containing ar0521_power_on; correlate with hardware containing the AR0521 sensor and I2C expanders.

What your security team should do

  • Apply the listed Rocky Linux module updates or the referenced kernel commit on all affected hosts
  • Rebuild and redeploy any downstream kernel packages that embed the ar0521 driver
  • Review kernel logs after update to confirm the warning no longer occurs

The record

In the Linux kernel, the following vulnerability has been resolved: media: i2c: ar0521: Use cansleep version of gpiod_set_value() If we use GPIO reset from I2C port expander, we must use *_cansleep() variant of GPIO functions. This was not done in ar0521_power_on()/ar0521_power_off() functions. Let's fix that. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 11 at drivers/gpio/gpiolib.c:3496 gpiod_set_value+0x74/0x7c Modules linked in: CPU: 0 PID: 11 Comm: kworker/u16:0 Not tainted 6.10.0 #53 Hardware name: Diasom DS-RK3568-SOM-EVB (DT) Workqueue: events_unbound deferred_probe_work_func pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : gpiod_set_value+0x74/0x7c lr : ar0521_power_on+0xcc/0x290 sp : ffffff8001d7ab70 x29: ffffff8001d7ab70 x28: ffffff80027dcc90 x27: ffffff8003c82000 x26: ffffff8003ca9250 x25: ffffffc080a39c60 x24: ffffff8003ca9088 x23: ffffff8002402720 x22: ffffff8003ca9080 x21: ffffff8003ca9088 x20: 0000000000000000 x19: ffffff8001eb2a00 x18: ffffff80efeeac80 x17: 756d2d6332692f30 x16: 0000000000000000 x15: 0000000000000000 x14: ffffff8001d91d40 x13: 0000000000000016 x12: ffffffc080e98930 x11: ffffff8001eb2880 x10: 0000000000000890 x9 : ffffff8001d7a9f0 x8 : ffffff8001d92570 x7 : ffffff80efeeac80 x6 : 000000003fc6e780 x5 : ffffff8001d91c80 x4 : 0000000000000002 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000001 Call trace: gpiod_set_value+0x74/0x7c ar0521_power_on+0xcc/0x290 ...

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux-6.1 0 6.1.119-1~deb11u1
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:13 linux 0 6.11.4-1
Linux Kernel 6.0.0 6.1.113
Mageia:9 kernel 0 6.6.58-2.mga9
Mageia:9 kernel-firmware 0 20240909-1.mga9
Mageia:9 kernel-firmware-nonfree 0 20240909-1.mga9.nonfree
Mageia:9 kernel-linus 0 6.6.58-2.mga9
Mageia:9 kmod-virtualbox 0 7.0.20-57.mga9
Mageia:9 kmod-xtables-addons 0 3.24-65.mga9
Mageia:9 radeon-firmware 0 20240909-1.mga9.nonfree
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_5 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_6 0 1-150600.13.3.5
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.30.1.150600.12.12.6
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.17.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.17.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.17.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.17.1
Ubuntu:24.10 linux 0 6.11.0-18.18
Ubuntu:24.10 linux-aws 0 6.11.0-1009.10
Ubuntu:24.10 linux-azure 0 6.11.0-1009.9
Ubuntu:24.10 linux-gcp 0 6.11.0-1009.9
Ubuntu:24.10 linux-lowlatency 0 6.11.0-1010.11
Ubuntu:24.10 linux-oracle 0 6.11.0-1011.12
Ubuntu:24.10 linux-raspi 0 6.11.0-1008.8
Ubuntu:24.10 linux-realtime 0 6.11.0-1005.5
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.17.2
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.30.1.150600.12.12.6
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.17.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.17.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.30.1
openSUSE:Tumbleweed kernel-source 0 6.11.8-1.1
openSUSE:Tumbleweed kernel-source-longterm 0 6.12.11-1.1

Related vulnerabilities