LiveActive security incident?Get immediate response
CVE Record

CVE-2025-40271: fs/proc: fix uaf in proc_readdir_de()

In the Linux kernel, the following vulnerability has been resolved: fs/proc: fix uaf in proc_readdir_de() Pde is erased from subdir rbtree through rb_erase(), but not set the node to EMPTY, which may result in uaf access. We should use RB_CLEAR_NODE() set the erased node to EMPTY, then pde_subdir_next() will return NULL to avoid uaf access. We found an uaf issue while using stress-ng testing, need to run testcase getdent and tun in the same time. The steps of the issue is as follows: 1) use getdent to traverse dir /proc/pid/net/dev_snmp6/, and current pde is tun3; 2) in the [time windows] unregister netdevice tun3 and tun2, and erase them from rbtree. erase tun3 first, and then erase tun2. the pde(tun2) will be released to slab; 3) continue to getdent process, then pde_subdir_next() will return pde(tun2) which is released, it will case uaf access. CPU 0 | CPU 1 ------------------------------------------------------------------------- traverse dir /proc/pid/net/dev_snmp6/ | unregister_netdevice(tun->dev) //tun3 tun2 sys_getdents64() | iterate_dir() | proc_readdir() | proc_readdir_de() | snmp6_unregister_dev() pde_get(de); | proc_remove() read_unlock(&proc_subdir_lock); | remove_proc_subtree() | write_lock(&proc_subdir_lock); [time window] | rb_erase(&root->subdir_node, &parent->subdir); | write_unlock(&proc_subdir_lock); read_lock(&proc_subdir_lock); | next = pde_subdir_next(de); | pde_put(de); | de = next; //UAF | rbtree of dev_snmp6 | pde(tun3) / \ NULL pde(tun2)

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

CVE-2025-40271 is a Linux kernel memory-safety bug in procfs directory reading. A race while reading certain /proc network entries and removing network devices can leave the kernel using a freed object. The provided sources confirm a fix, but do not provide CVSS, impact rating, or evidence of real-world exploitation.

Executive priority

Track this through normal kernel vulnerability management, with higher urgency for internet-facing infrastructure hosts and operational technology environments. Because severity and exploitability are not scored in the provided sources, prioritize confirmed affected systems rather than broad emergency response.

Technical view

The flaw is a use-after-free in proc_readdir_de(). An erased proc_dir_entry subdirectory rbtree node was not marked empty, allowing pde_subdir_next() to return a freed entry after concurrent proc removal. The fix clears the rb node after erase so traversal stops instead of dereferencing released memory.

Likely exposure

Exposure is most relevant to Linux systems running affected kernel versions or downstream products that include the vulnerable procfs code. The bundle lists Linux as affected and includes Siemens advisory coverage, but does not identify specific Siemens impacted products in the provided text.

Exploitation context

The source describes discovery during stress-ng testing with concurrent directory traversal and network device unregister activity. KEV is false, and the bundle contains no cited evidence of active exploitation, public weaponization, or attacker prerequisites beyond the race condition context.

Researcher notes

The key behavior is stale rbtree traversal after rb_erase() without clearing the node. The source confirms UAF access but does not establish privilege escalation, information disclosure, crash reliability, exploitability, or affected downstream package versions.

Mitigation direction

  • Apply vendor kernel updates containing the referenced stable fixes.
  • Check Linux distribution advisories for backported fixes and package names.
  • Review Siemens SSA-253495 if Siemens products are in scope.
  • Prioritize systems with dynamic network device creation or heavy /proc monitoring.
  • If no vendor fix is available, follow vendor guidance rather than ad hoc workarounds.

Validation and detection

  • Inventory kernel versions across servers, appliances, containers hosts, and embedded systems.
  • Map each kernel build to vendor advisories or the referenced stable commits.
  • Confirm patched builds include the proc_readdir_de() RB_CLEAR_NODE() fix.
  • Check vulnerability scanners for CVE-2025-40271 coverage and false negatives.
  • Document any unsupported kernels requiring upgrade or vendor escalation.
Prepared
Confidence
medium
Sources
11

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-40271 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
2ADP providers
10Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

siemens-SADPADP container
CISA-ADPCISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994, 710585d4922fd315f2cada8fbe550ae8ed23e994unaffected
LinuxLinux3.19, 0, 5.4.302, 5.10.247, 5.15.197, 6.1.159, 6.6.117, 6.12.59, 6.17.9, 6.18affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.