Read the docs
TI-2025-43224 Aliases CVE-2025-71074GHSA-98h8-m6w9-qr4x

functionfs: fix the open/removal races

Priority LOW 33CWE-362Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

In the Linux kernel, the following vulnerability has been resolved: functionfs: fix the open/removal races ffs_epfile_open() can race with removal, ending up with file->private_data pointing to freed object. There is a total count of opened files on functionfs (both ep0 and dynamic ones) and when it hits zero, dynamic files get removed. Unfortunately, that removal can happen while another thread is in ffs_epfile_open(), but has not incremented the count yet. In that case open will succeed, leaving us with UAF on any subsequent read() or write(). The root cause is that ffs->opened is misused; atomic_dec_and_test() vs. atomic_add_return() is not a good idea, when object remains visible all along. To untangle that * serialize openers on ffs->mutex (both for ep0 and for dynamic files) * have dynamic ones use atomic_inc_not_zero() and fail if we had zero ->opened; in that case the file we are opening is doomed. * have the inodes of dynamic files marked on removal (from the callback of simple_recursive_removal()) - clear ->i_private there. * have open of dynamic ones verify they hadn't been already removed, along with checking that state is FFS_ACTIVE.

Why it matters now

EPSS 0.00132 2nd percentileScored 2026-11-07
Fix Fixed Linux (Linux): 6.1.191, 6.6.160, 6.12.114 +1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.35 and later6.1.191, 6.6.160, 6.12.114, 6.19Patch availableCNA
  • Linux VendorLinux Affected 2.6.35 and later Fixed in 6.1.191, 6.6.160, 6.12.114, 6.19 Patch available CNA

CPE configurations NVD · 10

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*2.6.35.1 to before 6.19VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.35:-:*:*:*:*:*:*2.6.35VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*6.19 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*6.19 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*6.19 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*6.19 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*6.19 rc5VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*6.19 rc6VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*6.19 rc7VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:*6.19 rc8VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 2.6.35.1 to before 6.19 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.35:-:*:*:*:*:*:* Versions 2.6.35 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* Versions 6.19 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* Versions 6.19 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* Versions 6.19 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* Versions 6.19 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* Versions 6.19 rc5 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:* Versions 6.19 rc6 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:* Versions 6.19 rc7 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:* Versions 6.19 rc8 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 6.1.191, 6.6.160, 6.12.114, 6.19

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

Not affected: 5 products
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-71074
  2. 2026-10-03 Alias added: GHSA-98h8-m6w9-qr4x
  3. 2026-10-21 Fix available: Linux/Linux@585a656283c954337036422afcd9cb70dd4135e7, Linux/[email protected], Linux/[email protected] +1 · CNA
  4. 2026-10-21 2 new references · CNA
  5. 2026-10-30 Fix available: Linux/[email protected], Linux/Linux@e002b3c1e6a0faa53329ef0d21e6351bcece6edb · CNA
  6. 2026-10-30 1 new reference · CNA

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources