Vulnerability in Kernel (CVE-2025-38338)
Summary
Vulnerability in Kernel (CVE-2025-38338). Risk of unauthorized operations or information disclosure. Exploitable via PG_locked. Mitigation: upgrade to 6.6.95, 6.12.35, 6.15.4 or later.
Original description
The description as published by the source.
In the Linux kernel, the following vulnerability has been resolved:
fs/nfs/read: fix double-unlock bug in nfs_return_empty_folio()
Sometimes, when a file was read while it was being truncated by
another NFS client, the kernel could deadlock because folio_unlock()
was called twice, and the second call would XOR back the PG_locked
flag.
Most of the time (depending on the timing of the truncation), nobody
notices the problem because folio_unlock() gets called three times,
which flips PG_locked back off:
- vfs_read, nfs_read_folio, ... nfs_read_add_folio,
nfs_return_empty_folio - vfs_read, nfs_read_folio, ... netfs_read_collection,
netfs_unlock_abandoned_read_pages - vfs_read, ... nfs_do_read_folio, nfs_read_add_folio,
nfs_return_empty_folio
The problem is that nfs_read_add_folio() is not supposed to unlock the
folio if fscache is enabled, and a nfs_netfs_folio_unlock() check is
missing in nfs_return_empty_folio().
Rarely this leads to a warning in netfs_read_collection():
------------[ cut here ]------------
R=0000031c: folio 10 is not locked
WARNING: CPU: 0 PID: 29 at fs/netfs/read_collect.c:133 netfs_read_collection+0x7c0/0xf00
[...]
Workqueue: events_unbound netfs_read_collection_worker
RIP: 0010:netfs_read_collection+0x7c0/0xf00
[...]
Call Trace:
netfs_read_collection_worker+0x67/0x80
process_one_work+0x12e/0x2c0
worker_thread+0x295/0x3a0
Most of the time, however, processes just get stuck forever in
folio_wait_bit_common(), wai…
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2025-38338 has been found in Kernel.
Attackers can target a specific entry point like PG_locked over the network to misuse the product.
Risk of unauthorized operations or information disclosure.
What to do: upgrade Kernel to 6.6.95, 6.12.35, 6.15.4 or later.
If unsure, ask your IT team or search "Kernel CVE-2025-38338" on the vendor's site.
CVE-2025-38338 (Kernel)
Attack surface: PG_locked
Patched: 6.6.95, 6.12.35, 6.15.4 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (unclassified) exists in Kernel. Attackers reach the vulnerable code path via PG_locked.
Check the vendor advisory for the affected versions of Kernel. Attack surface: PG_locked.
Severity: ?. Risk of unauthorized operations or information disclosure.
Update to 6.6.95, 6.12.35, 6.15.4.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'Kernel' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'Kernel' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
Kernelを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade Kernel to 6.6.95, 6.12.35, 6.15.4ステージング環境で 6.6.95, 6.12.35, 6.15.4 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- BellSoft Alpaquita BELL-CVE-2025-38338 linux-lts Fixed in: 6.12.41-r0
- Debian DEBIAN-CVE-2025-38338 linux Fixed in: 6.12.35-1
- Ubuntu UBUNTU-CVE-2025-38338 linux-hwe-edge
References
- advisory github.com
- advisory nvd.nist.gov
- package git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web git.kernel.org