CVE-2026-23177: mm, shmem: prevent infinite loop on truncate race
In the Linux kernel, the following vulnerability has been resolved:
mm, shmem: prevent infinite loop on truncate race
When truncating a large swap entry, shmem_free_swap() returns 0 when the
entry's index doesn't match the given index due to lookup alignment. The
failure fallback path checks if the entry crosses the end border and
aborts when it happens, so truncate won't erase an unexpected entry or
range. But one scenario was ignored.
When `index` points to the middle of a large swap entry, and the large
swap entry doesn't go across the end border, find_get_entries() will
return that large swap entry as the first item in the batch with
`indices[0]` equal to `index`. The entry's base index will be smaller
than `indices[0]`, so shmem_free_swap() will fail and return 0 due to the
"base < index" check. The code will then call shmem_confirm_swap(), get
the order, check if it crosses the END boundary (which it doesn't), and
retry with the same index.
The next iteration will find the same entry again at the same index with
same indices, leading to an infinite loop.
Fix this by retrying with a round-down index, and abort if the index is
smaller than the truncate range.
Security readout for executives and security teams
Plain-English summary
This Linux kernel flaw can make kernel code loop forever during a shared-memory truncate race involving large swap entries. The likely business impact is availability: affected systems may hang or consume CPU if the vulnerable path is reached. Public sources do not provide CVSS, affected distribution packages, or evidence of active exploitation.
Executive priority
Treat this as a kernel availability issue to fold into normal high-priority patch cycles, especially on shared or critical Linux infrastructure. Escalate only if your vendor rates it higher or operational evidence shows hangs consistent with this flaw.
Technical view
In mm/shmem, shmem_free_swap() can return 0 when index falls inside a large swap entry whose base index is smaller. The fallback confirms the swap entry, sees it does not cross the truncate end boundary, and retries the same index, causing an infinite loop. Stable fixes retry from a rounded-down index and abort below range.
Likely exposure
Exposure appears tied to Linux kernels with the shmem large-swap-entry truncate behavior. The source lists Linux kernel versions including 6.12, 6.12.70, 6.18.10, and 6.19, but distribution package mapping is not provided.
Exploitation context
The CVE source describes a race condition and infinite loop, but does not describe an exploit path, required privileges, or attacker control. KEV is false, and the provided sources do not support active exploitation claims.
Researcher notes
Evidence supports an upstream Linux mm/shmem infinite-loop fix, not code execution. The affected-version data is sparse and unusual, so validation should use vendor kernel advisories and commit backport checks. No CVSS, CWE, exploit detail, or KEV listing is provided.
Mitigation direction
Check kernel vendor advisories for CVE-2026-23177 package status.
Upgrade to a kernel containing the referenced stable fixes.
Prioritize shared Linux hosts where local denial of service has business impact.
Track distribution backports rather than relying only on upstream version numbers.
Validation and detection
Inventory Linux kernel versions across servers, containers hosts, and appliances.
Compare running kernels against vendor CVE-2026-23177 advisories.
Confirm whether the referenced stable commits are present or backported.
Review monitoring for unexplained kernel CPU hangs or truncate-related stalls.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23177 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 14, 2026, 16:27 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.