---
id: CVE-2026-74606
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  eventfs: Fix use-after-free in eventfs_remove_rec()

  eventfs_remove_rec() recursively removes the child at the current loop
  position
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  eventfs: Fix use-after-free in eventfs_remove_rec()

  eventfs_remove_rec() recursively removes the child at the current loop
  position. After the recursive call returns, …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-08-22'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T13:10:00.187'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-74606'
references:
  - url: 'https://git.kernel.org/stable/c/5635211b44969f4816e29ec4d5f8665fb39535d0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/74bb1eaf72d185a78c879eb2678ea500f82f46a8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b77581b25e213e83b79ce11eb30024e55ceeb3e9'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f161d7861a0bfdf10af6b738b3b57636204661fb'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fd73b691702170d37d66f4b0278530cea8ed419a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00125
epssPercentile: 0.01971
ingestedAt: '2026-10-14T13:30:58.513Z'
---

## Overview

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

eventfs: Fix use-after-free in eventfs_remove_rec()

eventfs_remove_rec() recursively removes the child at the current loop
position. After the recursive call returns, list_for_each_entry() advances
by reading list.next from the removed child.

If free_ei() drops the final reference, release_ei() reuses the list/rcu
union to queue an SRCU callback. The child may be freed before that read.
The eventfs_mutex serializes list updates, but it does not keep the removed
child alive or prevent the SRCU callback from running.

Use list_for_each_entry_safe() to save the next sibling before recursively
removing the current child.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
