CVE-2026-53207
Last modified
CVE-2026-53207 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure: fix hugetlb_lock AA deadlock in get_huge_page_for_hwpoison Two concurrent madvise(MADV_HWPOISON) calls on the same hugetlb page can trigger a recursive spinlock self-deadlock (AA deadlock) on hugetlb_lock when racing with a concurrent unmap: thread#0 thread#1 -------- -------- madvise(folio, MADV_HWPOISON) -> poisons the folio successfully madvise(folio, MADV_HWPOISON) unmap(folio) try_memory_failure_hugetlb get_huge_page_for_hwpoison spin_lock_irq(&hugetlb_lock) <- held __get_huge_page_for_hwpoison hugetlb_update_hwpoison() -> MF_HUGETLB_FOLIO_PRE_POISONED goto out: folio_put() refcount: 1 -> 0 free_huge_folio() spin_lock_irqsave(&hugetlb_lock) -> AA DEADLOCK! The out: path in __get_huge_page_for_hwpoison() calls folio_put() to drop the GUP reference while the hugetlb_lock is still held by the hugetlb.c wrapper get_huge_page_for_hwpoison(). If concurrent unmap has released the page table mapping reference, folio_put() drops the folio refcount to zero, triggering free_huge_folio() which attempts to re-acquire the non-recursive hugetlb_lock. Fix this by moving hugetlb_lock acquisition from the hugetlb.c wrapper into get_huge_page_for_hwpoison(). EPSS estimates a 0.18% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure: fix hugetlb_lock AA deadlock in get_huge_page_for_hwpoison Two concurrent madvise(MADV_HWPOISON) calls on the same hugetlb page can trigger a recursive spinlock self-deadlock (AA deadlock) on hugetlb_lock when racing with a concurrent unmap: thread#0 thread#1 -------- -------- madvise(folio, MADV_HWPOISON) -> poisons the folio successfully madvise(folio, MADV_HWPOISON) unmap(folio) try_memory_failure_hugetlb get_huge_page_for_hwpoison spin_lock_irq(&hugetlb_lock) <- held __get_huge_page_for_hwpoison hugetlb_update_hwpoison() -> MF_HUGETLB_FOLIO_PRE_POISONED goto out: folio_put() refcount: 1 -> 0 free_huge_folio() spin_lock_irqsave(&hugetlb_lock) -> AA DEADLOCK! The out: path in __get_huge_page_for_hwpoison() calls folio_put() to drop the GUP reference while the hugetlb_lock is still held by the hugetlb.c wrapper get_huge_page_for_hwpoison(). If concurrent unmap has released the page table mapping reference, folio_put() drops the folio refcount to zero, triggering free_huge_folio() which attempts to re-acquire the non-recursive hugetlb_lock. Fix this by moving hugetlb_lock acquisition from the hugetlb.c wrapper into get_huge_page_for_hwpoison(). Place spin_unlock_irq() before the folio_put() at the out: label so the folio is always released outside the lock. [akpm@linux-foundation.org: fix race, rename label per Miaohe]
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | >= 5.15.54, < 5.16 | — |
| Linux | Linux Kernel | >= 5.18.1, < 6.1.176 | — |
| Linux | Linux Kernel | >= 6.2, < 6.6.143 | — |
| Linux | Linux Kernel | >= 6.7, < 6.12.94 | — |
| Linux | Linux Kernel | >= 6.13, < 6.18.36 | — |
| Linux | Linux Kernel | >= 6.19, < 7.0.13 | — |
| Linux | Linux Kernel | 5.18 | — |
| Linux | Linux Kernel | 7.1 | Rc1 |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-53207?
How severe is CVE-2026-53207?
How do I fix CVE-2026-53207?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-53201In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-53202In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-53203In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2026-53204In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-53205In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2026-53206In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-53208In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-53209In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-5321A flaw has been found in vanna-ai vanna up to 2.0.2. Affecte…4.3
- CVE-2026-53210In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-53211In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-53212In the Linux kernel, the following vulnerability has been re…7.8
Are you affected by CVE-2026-53207?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
