Skip to content
Fencer Vulns
high 7.8

CVE-2025-40249 json

gpio: cdev: make sure the cdev fd is still active before emitting events

published 2025-12-04 11 mo ago modified 2026-10-19 20 d ago also EUVD-2025-201208

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 4%
public exploits
0
none known

Summary

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

gpio: cdev: make sure the cdev fd is still active before emitting events

With the final call to fput() on a file descriptor, the release action may be deferred and scheduled on a work queue. The reference count of that descriptor is still zero and it must not be used. It's possible that a GPIO change, we want to notify the user-space about, happens AFTER the reference count on the file descriptor associated with the character device went down to zero but BEFORE the .release() callback was called from the workqueue and so BEFORE we unregistered from the notifier.

Using the regular get_file() routine in this situation triggers the following warning:

struct file::f_count incremented from zero; use-after-free condition present!

So use the get_file_active() variant that will return NULL on file descriptors that have been or are being released.

Patch / fix

  • Linux Linux 6.17.10, 6.18
  • linux Debian 14 6.17.10-1

debian advisories DEBIAN-CVE-2025-40249

  • linux Ubuntu 25.10 6.17.0-19.19
  • linux-aws Ubuntu 25.10 6.17.0-1009.9
  • linux-gcp Ubuntu 25.10 6.17.0-1009.9
  • linux-azure Ubuntu 25.10 6.17.0-1010.10
  • linux-raspi Ubuntu 25.10 6.17.0-1010.10
  • linux-riscv Ubuntu 25.10 6.17.0-19.19.1
  • linux-oracle Ubuntu 25.10 6.17.0-1009.9
  • linux-aws-6.17 Ubuntu 24.04 LTS 6.17.0-1009.9~24.04.2

ubuntu advisories UBUNTU-CVE-2025-40249

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel RHEL 10.1 6.12.0-124.43.1.el10_1
  • rv RHEL 10.1 6.12.0-124.43.1.el10_1
  • perf RHEL 10.1 6.12.0-124.43.1.el10_1
  • rtla RHEL 10.1 6.12.0-124.43.1.el10_1
  • libperf RHEL 10.1 6.12.0-124.43.1.el10_1
  • kernel-rt RHEL 10.1 6.12.0-124.43.1.el10_1
  • kernel-64k RHEL 10.1 6.12.0-124.43.1.el10_1
  • kernel-core RHEL 10.1 6.12.0-124.43.1.el10_1

red hat advisories RHSA-2026:4012

  • kernel-abi-stablelists AlmaLinux 10 6.12.0-124.43.1.el10_1

almalinux advisories ALSA-2026:4012

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2025-40249 updated cvss 7.1

kernel: Kernel: Use-after-free in GPIO character device allows privilege escalation or denial of service

  • Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-124.43.1.el10_1, perf 6.12.0-124.43.1.el10_1, rtla 6.12.0-124.43.1.el10_1, python3-perf 6.12.0-124.43.1.el10_1, kernel-devel-matched 6.12.0-124.43.1.el10_1, kernel-64k-devel-matched 6.12.0-124.43.1.el10_1, +7 more Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-124.43.1.el10_1, kernel-64k 6.12.0-124.43.1.el10_1, kernel-core 6.12.0-124.43.1.el10_1, kernel-tools 6.12.0-124.43.1.el10_1, kernel-modules 6.12.0-124.43.1.el10_1, kernel-64k-core 6.12.0-124.43.1.el10_1, +28 more Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-124.43.1.el10_1, kernel-debuginfo-common-s390x 6.12.0-124.43.1.el10_1, kernel-debuginfo-common-x86_64 6.12.0-124.43.1.el10_1, kernel-debuginfo-common-aarch64 6.12.0-124.43.1.el10_1, kernel-debuginfo-common-ppc64le 6.12.0-124.43.1.el10_1 Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-124.43.1.el10_1, kernel-rt-64k 6.12.0-124.43.1.el10_1, kernel-rt-core 6.12.0-124.43.1.el10_1, kernel-rt-modules 6.12.0-124.43.1.el10_1, kernel-rt-64k-core 6.12.0-124.43.1.el10_1, kernel-rt-debug-core 6.12.0-124.43.1.el10_1, +14 more Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-124.43.1.el10_1, kernel-rt-core 6.12.0-124.43.1.el10_1, kernel-rt-modules 6.12.0-124.43.1.el10_1, kernel-rt-debug-core 6.12.0-124.43.1.el10_1, kernel-rt-modules-core 6.12.0-124.43.1.el10_1, kernel-rt-debug-modules 6.12.0-124.43.1.el10_1, +4 more
    fixed: vendor fix RHSA-2026:4012
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

0.15% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected products

  • Linux Linux

Classification

Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.