Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-39901— i40e: remove read access to debugfs files

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于i40e驱动程序的debugfs文件存在读取访问权限问题,可能导致信息泄露。

AI Predicted 7.8 Difficulty: Moderate EPSS 0.16% · P4

Possible ATT&CK Techniques 1 AI

T1083 · File and Directory Discovery

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 02e9c290814cc143ceccecb14eac3e7a05da745e< 6fd8b30a5cb84d74015bc651799d1ab1e047946c affected
02e9c290814cc143ceccecb14eac3e7a05da745e< ef40d9411469306e524e7887c51b709377e6ef65 affected
02e9c290814cc143ceccecb14eac3e7a05da745e< 70d3dad7d5ad077965d7a63eed1942b7ba49bfb4 affected
02e9c290814cc143ceccecb14eac3e7a05da745e< 7d190963b80f4cd99d7008615600aa7cc993c6ba affected
02e9c290814cc143ceccecb14eac3e7a05da745e< 9fcdb1c3c4ba134434694c001dbff343f1ffa319 affected
3.12 affected
< 3.12 unaffected
6.1.183≤ 6.1.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-39901

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
i40e: remove read access to debugfs files
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于i40e驱动程序的debugfs文件存在读取访问权限问题,可能导致信息泄露。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 02e9c290814cc143ceccecb14eac3e7a05da745e ~ 6fd8b30a5cb84d74015bc651799d1ab1e047946c -
Linux Linux 3.12 -

II. Public POCs for CVE-2025-39901

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-39901

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-39901 (2)

Same Patch Batch · Linux · 2025-10-01 · 169 CVEs total

CVE-2023-53517 9.8 CRITICAL tipc: do not update mtu if msg_max is too small in mtu negotiation
CVE-2025-39919 8.8 HIGH wifi: mt76: mt7996: add missing check for rx wcid entries
CVE-2025-39918 8.8 HIGH wifi: mt76: fix linked list corruption
CVE-2023-53454 8.8 HIGH HID: multitouch: Correct devm device reference for hidinput input_dev name
CVE-2022-50442 8.4 HIGH fs/ntfs3: Validate buffer length while parsing index
CVE-2023-53493 8.4 HIGH accel/qaic: tighten bounds checking in decode_message()
CVE-2023-53492 7.8 HIGH netfilter: nf_tables: do not ignore genmask when looking up chain by id
CVE-2025-39924 7.8 HIGH erofs: fix invalid algorithm for encoded extents
CVE-2023-53510 7.8 HIGH scsi: ufs: core: Fix handling of lrbp->cmd
CVE-2025-39927 7.8 HIGH ceph: fix race condition validating r_parent before applying state
CVE-2022-50421 7.8 HIGH rpmsg: char: Avoid double destroy of default endpoint
CVE-2023-53506 7.8 HIGH udf: Do not bother merging very long extents
CVE-2022-50423 7.8 HIGH ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
CVE-2023-53504 7.8 HIGH RDMA/bnxt_re: Properly order ib_device_unalloc() to avoid UAF
CVE-2023-53495 7.8 HIGH net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc()
CVE-2023-53494 7.8 HIGH crypto: xts - Handle EBUSY correctly
CVE-2022-50437 7.8 HIGH drm/msm/hdmi: fix memory corruption with too many bridges
CVE-2023-53478 7.8 HIGH tracing/synthetic: Fix races on freeing last_cmd
CVE-2023-53481 7.8 HIGH ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
CVE-2023-53486 7.8 HIGH fs/ntfs3: Enhance the attribute size check

Showing top 20 of 169 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-39901

No comments yet


Leave a comment