CVE-2026-53333: Linux Kernel mincore Memory Residency Reporting Flaw
A logic ordering issue in the Linux kernel's memory inspection code (mincore) causes it to incorrectly report certain special memory pages as missing or unavailable on systems built without swap support but with migration or memory failure detection enabled. When the kernel checks whether a page resides in memory, it prematurely rejects these special pages before properly identifying them, triggering false warnings and inaccurate reporting. The fix reorders the checks so special pages are recognized before the swap-related restrictions apply.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-07-01 / 2026-07-23
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: mm/mincore: handle non-swap entries before !CONFIG_SWAP guard mincore_swap() also fields migration/hwpoison entries (and shmem swapin-error entries), which can exist on !CONFIG_SWAP builds when CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE is enabled. The !IS_ENABLED(CONFIG_SWAP) guard ran before the non-swap-entry early return, so mincore_pte_range() can spuriously WARN and report these pages nonresident on !CONFIG_SWAP kernels. Move the guard below the non-swap-entry check so only true swap entries trip the WARN, and migration/hwpoison entries take the existing "uptodate / non-shmem" path.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The mincore_swap() function in mm/mincore.c processes migration, hardware poison, and shmem swap-in error entries alongside traditional swap entries. On !CONFIG_SWAP kernel builds where CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE is enabled, the !IS_ENABLED(CONFIG_SWAP) guard precedes the early return for non-swap entries. This causes mincore_pte_range() to spuriously trigger WARN_ON conditions and misreport pages as non-resident. The vulnerability is resolved by relocating the CONFIG_SWAP guard to occur after the non-swap-entry type check, allowing migration and hardware poison entries to follow the existing uptodate/non-shmem code path rather than failing the guard.
Business impact
Systems relying on mincore() for accurate memory residency reporting—such as page prefetching optimizations, memory pressure analysis, or workload characterization tools—may receive incorrect data on affected kernel configurations. This can lead to suboptimal memory management decisions, false performance troubleshooting, and unreliable telemetry. The severity is contained by the guard's specificity: only non-swap kernel builds with migration or fault-tolerance features enabled are affected, limiting broad production impact but potentially affecting specialized deployments.
Affected systems
Linux kernel versions prior to the fix. The vulnerability manifests only on systems compiled with CONFIG_SWAP disabled while CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE is enabled—a configuration used in specialized embedded, real-time, or fault-tolerant environments. Mainstream distributions with standard kernel configurations are less likely to encounter this combination.
Exploitability
This is not a remotely exploitable vulnerability. It requires local access to invoke mincore() calls and interpret their results. An unprivileged local process can trigger the false WARN messages, but exploitation is passive: it reveals incorrect memory information rather than enabling code execution or privilege escalation. The primary impact is data integrity (incorrect mincore output) rather than availability or confidentiality.
Remediation
Update to a patched Linux kernel version that includes the mincore guard reordering fix. Verify the specific kernel version carrying this patch against your distributor's security advisories. For systems where immediate patching is infeasible, limit the scope of mincore() system call availability if policy permits, though this may disable legitimate memory analysis tools.
Patch guidance
Consult your Linux distribution's security advisory for the specific kernel version containing this fix. Mainstream distributions (Ubuntu, Red Hat, Debian, SUSE) typically backport mincore fixes to their supported kernel branches. Test the updated kernel in a staging environment before production deployment, particularly if your workload depends on mincore() for memory optimization or monitoring. Verify kernel configuration confirms the fix is present (check LOCALVERSION or dmesg for build information).
Detection guidance
Review system logs for mincore-related WARN_ON messages (typically appearing in dmesg or kernel logs). Monitor systems with CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE enabled and !CONFIG_SWAP disabled to identify candidates for testing. Tools using mincore() (such as some memory profilers or page cache analyzers) may produce inconsistent or suspicious results on affected kernels; cross-reference their output with /proc/[pid]/maps or page-types to validate accuracy. Kernel version and build configuration checks (via /proc/version or uname -a) can help identify at-risk deployments.
Why prioritize this
Medium severity reflects the local-access-only requirement and the specific kernel configuration combination needed to trigger the issue. However, for systems matching the configuration profile, patching should be prioritized because mincore() reliability underpins memory-aware application tuning and system diagnostics. The fix is straightforward and carries low regression risk.
Risk score, explained
CVSS 5.5 (Medium) reflects an availability impact (A:H) with local attack vector, low complexity, and low privilege requirement. The score appropriately captures the kernel warning and data integrity concern while accounting for the restricted configuration scope and lack of remote or privilege-escalation pathways.
Frequently asked questions
Does this affect my system if I do not use mincore()?
Unlikely. Most standard applications do not directly call mincore(). However, some performance monitoring, memory profiling, and page cache analysis tools rely on it. Check your monitoring stack's dependencies if you suspect mincore() use.
Why does my kernel show warnings about mincore on a system with CONFIG_MIGRATION enabled?
On !CONFIG_SWAP builds with CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE, the kernel's mincore check incorrectly flags migration and poison entries as invalid before properly identifying them. This generates spurious WARN messages and incorrect memory residency reports. A patched kernel reorders these checks to eliminate false warnings.
Do I need to rebuild my kernel to fix this?
Not necessarily. If your distributor has backported the fix to your kernel series, a simple kernel update will include the patch. Check your distribution's security advisory for the patched version number. If you maintain custom kernels, ensure your configuration matches the patched code path (CONFIG_MIGRATION or CONFIG_MEMORY_FAILURE with !CONFIG_SWAP).
Is this vulnerability being exploited in the wild?
There is no evidence of active exploitation. This is a data integrity issue affecting kernel internals rather than a code-execution or privilege-escalation vector. Attackers cannot leverage it to compromise system security, though they might exploit mincore-dependent memory profiling on affected systems if other vulnerabilities exist.
This analysis is based on the CVE description and kernel patch metadata current as of the published date. Specific patched kernel versions, backport status, and distribution advisories should be verified against official vendor security pages before deployment. CVSS scoring reflects the vulnerability as documented; your organization's risk profile may differ based on system configuration and mincore() usage patterns. No exploit code or weaponization details are provided. Always test kernel updates in non-production environments first. Source: NVD (public-domain), retrieved 2026-08-10. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-36372MEDIUMIBM Db2 Information Disclosure in Monitoring Tables
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)