HOL LogoGuard

Explore HOL

  • HOL home
  • AI agent registry
  • AI plugins
  • Open standards
  • HOL members
  • Sponsor HOL
  • Advertise with HOL

Guard product

  • Guard overviewLocal security and control for AI agents and the tools they use.
  • FeaturesRuntime protection, policy routing, review, and evidence.

Explore Guard

  • Product previewWalk through Guard surfaces in read-only demo mode.
  • ComparisonCompare Guard with native controls and AI security vendors.

AI tools

  • All AI toolsEvery supported AI tool and how Guard applies policy to it.
  • Codex
  • Claude Code
  • Cursor
  • Antigravity CLI
  • OpenCode
  • Hermes
  • OpenClaw
  • GitHub Copilot CLI
  • Antigravity
  • Kimi
  • Grok
  • Pi / Oh My Pi
  • Zcode

Extensions

  • All extensionsBrowse command and MCP coverage with owners and stated limits.
  • Command coverageShell command protection across clouds, databases, backups, and packages.
  • MCP server coverageSee how Guard maps risk state across MCP tools and servers.
  • Core safetyThe safety floor listings that ship with Guard.
  • Data and resilienceBackup and storage command protection.
  • Cloud and infrastructureAWS, Azure, GCP, Kubernetes, and more.

Security

  • AI security hubSecurity research, advisories, and agent safety coverage.
  • AI tool securitySecurity profiles for each supported coding agent.
  • Safe labsHands-on attack simulations with safe boundaries.
  • Redacted warningsReal blocked actions with sensitive details removed.
  • AdvisoriesCoordinated disclosure reports for AI tooling.
  • Active CVEsSearch active CVEs affecting AI tooling.

Learn

  • Security guidesPractical guides for securing AI agent workflows.
  • DocsInstall, configure, and operate Guard with confidence.
  • ResearchPublished security research, benchmarks, and methodology.

Community

  • ReleasesVersion history, shipped changes and upgrade notes.
  • ContributorsThe people and contributions behind HOL Guard.
  • AffiliatesShare Guard with your audience and earn from referrals.
  • SponsorFund agreed research, implementation and shared testing through the HOL Partner Program.
  • AdvertiseCompare README logo placements, previews and monthly prices, or promote a plugin or extension.
PricingEnterpriseOpen AppInstall Guard
  1. Guard
  2. Security
  3. CVEs
  4. CVE 2025 39901 i40e remove read access to debugfs files
HOL Guard

Public security guidance for teams protecting AI harnesses, MCP servers, skills, prompts, and local tool execution.

Install Guard

AI Security

  • Prompt injection
  • MCP security
  • OWASP MCP mapping
  • Supply chain

Resources

  • Trust packet
  • Harness setup
  • Redacted warnings
  • Safe labs

Product

  • Install Guard
  • Pricing
  • Open dashboard
Guard
  • Guard Overview
  • Releases
  • Contributors
  • Install Guard
  • Pricing
Docs
  • Documentation Index
  • Developer Hub
  • API Reference
  • Root OpenAPI
  • Registry OpenAPI
  • Run in Postman
  • Standards
  • Submit ERC-8004 Contract
  • Feature Your Agent
Best Plugins
  • Browse Plugins
  • Plugin Launches
  • Best Claude Plugins
  • Best Codex Plugins
  • Best Grok Plugins
  • Best Kimi Plugins
  • Best DeepSeek Plugins
  • Best Antigravity Plugins
  • Best MCP Servers
  • Best Cursor Plugins
  • Best OpenCode Plugins
Best Agents
  • Best ERC-8004 Agents
  • Best Virtuals Agents
  • Best MCP Servers
  • Best A2A Agents
  • Best x402 Payable
  • All Categories
Community
  • Telegram
  • X
More
  • About HOL
  • Sponsor
  • Advertise
  • Affiliate program
  • Contact
  • Blog
  • GitHub
  • Privacy
  • Terms of Service
Settings

Copyright ยฉ 2026 HOL DAO LLC. All rights reserved.

Back to active CVEs
High ยท CVSS 7.1CVE-2025-39901

i40e: remove read access to debugfs filesCVE-2025-39901

Answer in brief

CVE-2025-39901 records a High severity (CVSS 7.1) vulnerability in i40e: remove read access to debugfs files. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.

Analysis pending evidence review

HOL Guard separates source facts from reviewed analysis. See the methodology.

Published Oct 1, 2025Updated Oct 19, 2026Source checked Nov 3, 2026First seen by HOL Aug 3, 2026Material review Oct 19, 2026
Upstream Advisory

Key facts

Risk
High ยท CVSS 7.1
Exploitation
Not marked as known exploited
Affected software
8 mapped packages or products
Fix availability
Available

Why this deserves its current priority

CVSS is 7.1. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.

Analysis status

Analysis pending evidence review

Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.

Affected scope and exposure questions

The current feed maps Linux/Linux (generic), Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.

Affected products and reported versions
ProductAffected versionsFixed versions
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*Not reportedNot reported
cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:*Not reportedNot reported
cpe:2.3:o:linux:linux_kernel:6.17:rc2:*:*:*:*:*:*Not reportedNot reported
cpe:2.3:o:linux:linux_kernel:6.17:rc3:*:*:*:*:*:*Not reportedNot reported
cpe:2.3:o:linux:linux_kernel:6.17:rc4:*:*:*:*:*:*Not reportedNot reported
Mapped affected packages and fixed versions
PackageAffected rangeFixed version
Linux/Linuxgeneric3.12Not reported
Linux/Linuxgeneric>=02e9c290814cc143ceccecb14eac3e7a05da745e <6fd8b30a5cb84d74015bc651799d1ab1e047946c || >=02e9c290814cc143ceccecb14eac3e7a05da745e <ef40d9411469306e524e7887c51b709377e6ef65 || >=02e9c290814cc143ceccecb14eac3e7a05da745e <70d3dad7d5ad077965d7a63eed1942b7ba49bfb4 || >=02e9c290814cc143ceccecb14eac3e7a05da745e <7d190963b80f4cd99d7008615600aa7cc993c6ba || >=02e9c290814cc143ceccecb14eac3e7a05da745e <9fcdb1c3c4ba134434694c001dbff343f1ffa3196fd8b30a5cb84d74015bc651799d1ab1e047946c, ef40d9411469306e524e7887c51b709377e6ef65, 70d3dad7d5ad077965d7a63eed1942b7ba49bfb4, 7d190963b80f4cd99d7008615600aa7cc993c6ba, 9fcdb1c3c4ba134434694c001dbff343f1ffa319
Linux/Linuxgeneric>=02e9c290814cc143ceccecb14eac3e7a05da745e <ef40d9411469306e524e7887c51b709377e6ef65 || >=02e9c290814cc143ceccecb14eac3e7a05da745e <70d3dad7d5ad077965d7a63eed1942b7ba49bfb4 || >=02e9c290814cc143ceccecb14eac3e7a05da745e <7d190963b80f4cd99d7008615600aa7cc993c6ba || >=02e9c290814cc143ceccecb14eac3e7a05da745e <9fcdb1c3c4ba134434694c001dbff343f1ffa319ef40d9411469306e524e7887c51b709377e6ef65, 70d3dad7d5ad077965d7a63eed1942b7ba49bfb4, 7d190963b80f4cd99d7008615600aa7cc993c6ba, 9fcdb1c3c4ba134434694c001dbff343f1ffa319

Recommended response

  1. 1Check inventory. Check lockfiles and deployed manifests for Linux/Linux, Linux/Linux, Linux/Linux.
  2. 2Review the reported fix. Update Linux/Linux to 6fd8b30a5cb84d74015bc651799d1ab1e047946c; Linux/Linux to ef40d9411469306e524e7887c51b709377e6ef65 if you use the affected versions. Test the change in a non-production environment first.

Evidence timeline and material changes

  1. Published upstream

    Oct 1, 2025

    Evidence: source:cvelist:source_dates:source-dates:record
  2. Source modified

    Oct 19, 2026

    Evidence: source:cvelist:source_dates:source-dates:record
  3. First seen by HOL

    Aug 3, 2026

Sources and claim methodology

  • Source referencegit.kernel.org
  • Source referencegit.kernel.org
  • Source referencegit.kernel.org
  • Source referencegit.kernel.org
  • Source referencegit.kernel.org
Upstream source description

In the Linux kernel, the following vulnerability has been resolved: i40e: remove read access to debugfs files The 'command' and 'netdev_ops' debugfs files are a legacy debugging interface supported by the i40e driver since its early days by commit 02e9c290814c ("i40e: debugfs interface"). Both of these debugfs files provide a read handler which is mostly useless, and which is implemented with questionable logic. They both use a static 256 byte buffer which is initialized to the empty string. In the case of the 'command' file this buffer is literally never used and simply wastes space. In the case of the 'netdev_ops' file, the last command written is saved here. On read, the files contents are presented as the name of the device followed by a colon and then the contents of their respective static buffer. For 'command' this will always be "<device>: ". For 'netdev_ops', this will be "<device>: <last command written>". But note the buffer is shared between all devices operated by this module. At best, it is mostly meaningless information, and at worse it could be accessed simultaneously as there doesn't appear to be any locking mechanism. We have also recently received multiple reports for both read functions about their use of snprintf and potential overflow that could result in reading arbitrary kernel memory. For the 'command' file, this is definitely impossible, since the static buffer is always zero and never written to. For the 'netdev_ops' file, it does appear to be possible, if the user carefully crafts the command input, it will be copied into the buffer, which could be large enough to cause snprintf to truncate, which then causes the copy_to_user to read beyond the length of the buffer allocated by kzalloc. A minimal fix would be to replace snprintf() with scnprintf() which would cap the return to the number of bytes written, preventing an overflow. A more involved fix would be to drop the mostly useless static buffers, saving 512 bytes and modifying the read functions to stop needing those as input. Instead, lets just completely drop the read access to these files. These are debug interfaces exposed as part of debugfs, and I don't believe that dropping read access will break any script, as the provided output is pretty useless. You can find the netdev name through other more standard interfaces, and the 'netdev_ops' interface can easily result in garbage if you issue simultaneous writes to multiple devices at once. In order to properly remove the i40e_dbg_netdev_ops_buf, we need to refactor its write function to avoid using the static buffer. Instead, use the same logic as the i40e_dbg_command_write, with an allocated buffer. Update the code to use this instead of the static buffer, and ensure we free the buffer on exit. This fixes simultaneous writes to 'netdev_ops' on multiple devices, and allows us to remove the now unused static buffer along with removing the read access.

Quoted source text, attributed separately from HOL analysis.

Related CVEs

  • io-wq: order the exit bit against worker creation task workSame linux/linux package
  • pid_namespace: prevent TIF_NOTIFY_SIGNAL from interrupting the reaperSame linux/linux package
  • KEYS: Fix key_reject_and_link() race with keyring restrictionSame linux/linux package
  • tipc: protect node reset trace dump with node lockSame linux/linux package
  • tracing: Do not initialize tracefs work if tracing is disabledSame linux/linux package
  • i2c: xiic: restore non-managed runtime PM to fix clk WARN floodSame linux/linux package

Record context

Vulnerability class
Buffer Overflow
EPSS
Not reported
CWE IDs
CWE-125
Source
CVE List V5
Source checked
Nov 3, 2026
References
5 linked sources
Open source record