mm/khugepaged: write all dirty file folios when collapsing
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 20 fixed, 2 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
In the Linux kernel, the following vulnerability has been resolved: mm/khugepaged: write all dirty file folios when collapsing [There is no upstream commit, as this code was removed by upstream commit 044925f9b565 ("mm: fs: remove filemap_nr_thps*() functions and their users")] As-is, khugepaged and writable-file opening exclude each other. A file cannot be open writeable and have THPs (because the filesystem is not aware of them). khugepaged will never collapse file pages for files that are opened writeable. On an open(O_RDWR/O_WRONLY), the page cache for that particular file is dropped. This is fine because nothing could've been dirtied. However, there is an edge-case: collapse_file() might not be able to coexist with concurrent writers, but it can coexist with dirty folios (from previous writers). Therefore, the following can happen: open(file, O_RDWR) write(file) close(file) madvise(file_mapping, MADV_COLLAPSE, some non-dirty range) open(file, O_RDWR) nr_thps > 0 truncate_inode_pages() /* THPs are cleared out, but so are the dirty folios */ When this edge-case happens, there is data loss, as the dirty folios are fully discarded. Fix it by fully writing back the page cache (and waiting) when collapsing file THPs. Doing so provides the guarantee that no dirty folio will be observed while there are active THPs. To fully ensure this is safe, the invalidate_lock needs to be held while doing the writeout, so that do_dentry_open()'s page cache truncation excludes this write-and-wait. As a side effect, move the nr_thps counter bumping outside the i_pages lock. This is correct since the counter itself is an atomic_t and the producer <-> consumer correctness is provided by a full memory barrier: smp_mb() in collapse_file()/memory barrier implied by full ordering in get_write_access() -> atomic_inc_unless_negative().
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Linux (Linux) Fixed in 7.1.4
Red Hat 4 advisories
- RHSA-2026:91492 Released 2026-10-28 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat CodeReady Linux Builder EUS (v.9.6) kernel-tools-libs-devel-5.14.0-570.152.1.el9_6, libperf-5.14.0-570.152.1.el9_6
- Red Hat Enterprise Linux AppStream EUS (v.9.6) kernel-64k-debug-devel-5.14.0-570.152.1.el9_6, kernel-64k-debug-devel-matched-5.14.0-570.152.1.el9_6, kernel-64k-devel-5.14.0-570.152.1.el9_6 +12
- Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel-5.14.0-570.152.1.el9_6, kernel-64k-5.14.0-570.152.1.el9_6, kernel-64k-core-5.14.0-570.152.1.el9_6 +28
- Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt-5.14.0-570.152.1.el9_6, kernel-rt-64k-5.14.0-570.152.1.el9_6, kernel-rt-64k-core-5.14.0-570.152.1.el9_6 +21
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt-5.14.0-570.152.1.el9_6, kernel-rt-core-5.14.0-570.152.1.el9_6, kernel-rt-debug-5.14.0-570.152.1.el9_6 +11
- RHSA-2026:83707 Released 2026-10-16 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream EUS (v. 10.0) kernel-64k-debug-devel-6.12.0-55.111.1.el10_0, kernel-64k-debug-devel-matched-6.12.0-55.111.1.el10_0, kernel-64k-devel-6.12.0-55.111.1.el10_0 +12
- Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel-6.12.0-55.111.1.el10_0, kernel-64k-6.12.0-55.111.1.el10_0, kernel-64k-core-6.12.0-55.111.1.el10_0 +28
- Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) kernel-tools-libs-devel-6.12.0-55.111.1.el10_0, libperf-6.12.0-55.111.1.el10_0
- Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt-6.12.0-55.111.1.el10_0, kernel-rt-64k-6.12.0-55.111.1.el10_0, kernel-rt-64k-core-6.12.0-55.111.1.el10_0 +21
- Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt-6.12.0-55.111.1.el10_0, kernel-rt-core-6.12.0-55.111.1.el10_0, kernel-rt-debug-6.12.0-55.111.1.el10_0 +11
- RHSA-2026:67150 Released 2026-09-14 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-687.47.1.el9_8, kernel-64k-debug-devel-matched-5.14.0-687.47.1.el9_8, kernel-64k-devel-5.14.0-687.47.1.el9_8 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-687.47.1.el9_8, kernel-64k-5.14.0-687.47.1.el9_8, kernel-64k-core-5.14.0-687.47.1.el9_8 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-687.47.1.el9_8, libperf-5.14.0-687.47.1.el9_8
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-687.47.1.el9_8, kernel-rt-64k-5.14.0-687.47.1.el9_8, kernel-rt-64k-core-5.14.0-687.47.1.el9_8 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-687.47.1.el9_8, kernel-rt-core-5.14.0-687.47.1.el9_8, kernel-rt-debug-5.14.0-687.47.1.el9_8 +9
Show 1 more Red Hat advisories
- RHSA-2026:61887 Released 2026-09-01 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-211.50.1.el10_2, kernel-64k-debug-devel-matched-6.12.0-211.50.1.el10_2, kernel-64k-devel-6.12.0-211.50.1.el10_2 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-211.50.1.el10_2, kernel-64k-6.12.0-211.50.1.el10_2, kernel-64k-core-6.12.0-211.50.1.el10_2 +29
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-211.50.1.el10_2, libperf-6.12.0-211.50.1.el10_2
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-211.50.1.el10_2, kernel-rt-64k-6.12.0-211.50.1.el10_2, kernel-rt-64k-core-6.12.0-211.50.1.el10_2 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-211.50.1.el10_2, kernel-rt-core-6.12.0-211.50.1.el10_2, kernel-rt-debug-6.12.0-211.50.1.el10_2 +9
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat CodeReady Linux Builder EUS (v.9.6) | Fixed | RHSA-2026:91492 |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:61887 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:67150 |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Fixed | RHSA-2026:83707 |
| Red Hat Enterprise Linux AppStream EUS (v.9.6) | Fixed | RHSA-2026:91492 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:61887 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:67150 |
| Red Hat Enterprise Linux BaseOS EUS (v. 10.0) | Fixed | RHSA-2026:83707 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.6) | Fixed | RHSA-2026:91492 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:61887 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2026:67150 |
| Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) | Fixed | RHSA-2026:83707 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2026:61887 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2026:67150 |
| Red Hat Enterprise Linux Real Time EUS (v. 10.0) | Fixed | RHSA-2026:83707 |
| Red Hat Enterprise Linux Real Time EUS (v.9.6) | Fixed | RHSA-2026:91492 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2026:61887 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2026:67150 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) | Fixed | RHSA-2026:83707 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) | Fixed | RHSA-2026:91492 |
Not affected: 2 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-02 Threatist record created from CVE-2026-68086
- 2026-10-03 Alias added: GHSA-f6v6-h22p-v3m3
- 2026-10-18 Fix available: RHSA-2026:83707 · Red Hat
- 2026-10-18 Fix available: Red Hat Enterprise Linux AppStream EUS (v. 10.0), Red Hat Enterprise Linux BaseOS EUS (v. 10.0), Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) +2 · Red Hat
- 2026-10-30 Fix available: RHSA-2026:91492 · Red Hat
- 2026-10-30 Fix available: Red Hat CodeReady Linux Builder EUS (v.9.6), Red Hat Enterprise Linux AppStream EUS (v.9.6), Red Hat Enterprise Linux BaseOS EUS (v.9.6) +2 · Red Hat
- 2026-11-06 CVSS score changed · Red Hat
- 2026-11-06 CISA SSVC decision points changed
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-68086 · CVE Program
- CVE-2026-68086 · NVD
- FIRST EPSS
- GHSA-f6v6-h22p-v3m3 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-68086 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences