Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98662

Опубликовано: 18 окт. 2026
Источник: redhat
CVSS3: 4.7
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: light: gp2ap020a00f: drain irq_work after free_irq The threaded IRQ handler queues data->work through irq_work_queue() so the trigger is polled from a per-CPU context. free_irq() does not flush an irq_work the handler already queued, so after gp2ap020a00f_remove() returns that work may still run and call iio_trigger_poll() on data->trig, which the devm cleanup has already freed, causing a use-after-free. Add irq_work_sync(&data->work) after free_irq() in remove() and in the probe error path, mirroring commit 78601726d4a5 ("iio: trigger: sysfs: fix use-after-free on remove"). Found by an in-house static analysis tool, confirmed by manual review.

A flaw was found in the Linux kernel's gp2ap020a00f ambient light sensor driver. During device removal or initialization failure, the driver fails to properly drain scheduled interrupt tasks before releasing memory structures. A local user capable of unbinding or disconnecting the device can exploit this use-after-free flaw, leading to a system crash and Denial of Service (DoS) or potential memory corruption.

Отчет

A race in the gp2ap020a00f driver allows queued irq_work to execute after the associated IIO trigger has been released during device removal. free_irq does not drain work that the threaded IRQ handler already queued, so the delayed call to iio_trigger_poll can dereference freed trigger memory. The directly supported impact is a local kernel crash and denial of service. Because this is a confirmed use after free rather than a simple NULL pointer dereference, reuse of the freed allocation may also create a potential path to confidentiality or integrity impact and privilege escalation, although no reliable write primitive is demonstrated. For the CVSS the PR:L value in the paranoid score represents deployments where a local service, container root, or restricted device management account can initiate driver removal or unbind operations. Normal direct device removal usually requires administrative privileges and is represented by PR:H in the base score. AC:H applies because successful triggering depends on winning a race between queued irq_work and device teardown. The issue is not network reachable and normally requires the affected I2C sensor driver and device to be present.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-416
https://bugzilla.redhat.com/show_bug.cgi?id=2555177kernel: kernel: Denial of Service via use-after-free during gp2ap020a00f device removal

EPSS

Процентиль: 7%
0.00176
Низкий

4.7 Medium

CVSS3

Связанные уязвимости

ubuntu
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: iio: light: gp2ap020a00f: drain irq_work after free_irq The threaded IRQ handler queues data->work through irq_work_queue() so the trigger is polled from a per-CPU context. free_irq() does not flush an irq_work the handler already queued, so after gp2ap020a00f_remove() returns that work may still run and call iio_trigger_poll() on data->trig, which the devm cleanup has already freed, causing a use-after-free. Add irq_work_sync(&data->work) after free_irq() in remove() and in the probe error path, mirroring commit 78601726d4a5 ("iio: trigger: sysfs: fix use-after-free on remove"). Found by an in-house static analysis tool, confirmed by manual review.

nvd
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: iio: light: gp2ap020a00f: drain irq_work after free_irq The threaded IRQ handler queues data->work through irq_work_queue() so the trigger is polled from a per-CPU context. free_irq() does not flush an irq_work the handler already queued, so after gp2ap020a00f_remove() returns that work may still run and call iio_trigger_poll() on data->trig, which the devm cleanup has already freed, causing a use-after-free. Add irq_work_sync(&data->work) after free_irq() in remove() and in the probe error path, mirroring commit 78601726d4a5 ("iio: trigger: sysfs: fix use-after-free on remove"). Found by an in-house static analysis tool, confirmed by manual review.

CVSS3: 5.2
msrc
22 дня назад

iio: light: gp2ap020a00f: drain irq_work after free_irq

debian
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: i ...

github
23 дня назад

In the Linux kernel, the following vulnerability has been resolved: iio: light: gp2ap020a00f: drain irq_work after free_irq The threaded IRQ handler queues data->work through irq_work_queue() so the trigger is polled from a per-CPU context. free_irq() does not flush an irq_work the handler already queued, so after gp2ap020a00f_remove() returns that work may still run and call iio_trigger_poll() on data->trig, which the devm cleanup has already freed, causing a use-after-free. Add irq_work_sync(&data->work) after free_irq() in remove() and in the probe error path, mirroring commit 78601726d4a5 ("iio: trigger: sysfs: fix use-after-free on remove"). Found by an in-house static analysis tool, confirmed by manual review.

EPSS

Процентиль: 7%
0.00176
Низкий

4.7 Medium

CVSS3