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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-39723— netfs: Fix unbuffered write error handling

EPSS 0.01% · P3
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-39723

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
netfs: Fix unbuffered write error handling
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: netfs: Fix unbuffered write error handling If all the subrequests in an unbuffered write stream fail, the subrequest collector doesn't update the stream->transferred value and it retains its initial LONG_MAX value. Unfortunately, if all active streams fail, then we take the smallest value of { LONG_MAX, LONG_MAX, ... } as the value to set in wreq->transferred - which is then returned from ->write_iter(). LONG_MAX was chosen as the initial value so that all the streams can be quickly assessed by taking the smallest value of all stream->transferred - but this only works if we've set any of them. Fix this by adding a flag to indicate whether the value in stream->transferred is valid and checking that when we integrate the values. stream->transferred can then be initialised to zero. This was found by running the generic/750 xfstest against cifs with cache=none. It splices data to the target file. Once (if) it has used up all the available scratch space, the writes start failing with ENOSPC. This causes ->write_iter() to fail. However, it was returning wreq->transferred, i.e. LONG_MAX, rather than an error (because it thought the amount transferred was non-zero) and iter_file_splice_write() would then try to clean up that amount of pipe bufferage - leading to an oops when it overran. The kernel log showed: CIFS: VFS: Send error in write = -28 followed by: BUG: kernel NULL pointer dereference, address: 0000000000000008 with: RIP: 0010:iter_file_splice_write+0x3a4/0x520 do_splice+0x197/0x4e0 or: RIP: 0010:pipe_buf_release (include/linux/pipe_fs_i.h:282) iter_file_splice_write (fs/splice.c:755) Also put a warning check into splice to announce if ->write_iter() returned that it had written more than it was asked to.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未正确更新传输值,可能导致数据损坏。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 288ace2f57c9d06dd2e42bd80d03747d879a4068 ~ f08c80af3c9a9849cd178b4843b7c01d103506a1 -
LinuxLinux 6.10 -

II. Public POCs for CVE-2025-39723

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-39723

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-05 · 60 CVEs total

CVE-2025-39706drm/amdkfd: Destroy KFD debugfs after destroy KFD wq
CVE-2025-39725mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list
CVE-2025-39721crypto: qat - flush misc workqueue during device shutdown
CVE-2025-39720ksmbd: fix refcount leak causing resource not released
CVE-2025-39719iio: imu: bno055: fix OOB access of hw_xlate array
CVE-2025-39722crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP
CVE-2025-39710media: venus: Add a check for packet size after reading from shared memory
CVE-2025-39709media: venus: protect against spurious interrupts during probe
CVE-2025-39708media: iris: Fix NULL pointer dereference
CVE-2025-39707drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities
CVE-2025-39711media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls
CVE-2025-39705drm/amd/display: fix a Null pointer dereference vulnerability
CVE-2025-39704LoongArch: KVM: Fix stack protector issue in send_ipi_data()
CVE-2025-39703net, hsr: reject HSR frame if skb can't hold tag
CVE-2025-39702ipv6: sr: Fix MAC comparison to be constant-time
CVE-2025-39701ACPI: pfr_update: Fix the driver update version check
CVE-2025-39700mm/damon/ops-common: ignore migration request to invalid nodes
CVE-2025-39699iommu/riscv: prevent NULL deref in iova_to_phys
CVE-2025-39698io_uring/futex: ensure io_futex_wait() cleans up properly on failure
CVE-2025-39697NFS: Fix a race when updating an existing write

Showing top 20 of 60 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-39723

No comments yet


Leave a comment