Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-74599

Опубликовано: 22 авг. 2026
Источник: redhat
CVSS3: 5.5
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: always stabilise against page table freeing using init_mm Previous commits have established the invariant that kernel page table freeing is performed while an mmap read lock on init_mm is held, which fixes races between ptdump and kernel page table freeing over init_mm. However, x86 and arm64 can perform a ptdump over an mm other than init_mm via ptdump_walk_pgd() and since kernel memory ranges are shared across non-kernel mm's, this means that the race still exists for these cases. Fix this by acquiring a nested mmap write lock for init_mm in ptdump_walk_pgd(). This is safe as we take this after mmap write locking the mm, and nothing acquires the init_mm lock first before locking an arbitrary mm, so no deadlock is possible. Also update walk_page_range_debug() to assert that init_mm is write locked, add a comment explaining why and remove some redundant code, and eliminate the unnecessary and confusing invocation of walk_kernel_page_table_range(). We can safely remove the non-NULL check for walk.mm, as the mmap lock asserts would NULL pointer deref if it was (and of course no callers do this). The first point at which ptdump can race kernel page table freeing is commit b6bdb7517c3d ("mm/vmalloc: add interfaces to free unmapped page table"), so we target this in the Fixes tag.

A flaw was found in the Linux kernel's memory management subsystem. A race condition exists in the ptdump mechanism, specifically when ptdump_walk_pgd() is used on non-initial memory management structures on x86 and arm64 architectures. This allows for a race between ptdump and kernel page table freeing, potentially leading to system instability or memory corruption.

Отчет

A moderate-severity flaw was found in the Linux kernel's memory management subsystem, affecting the ptdump page table dumping facility on the x86 and arm64 architectures in Red Hat Enterprise Linux 8, 9, and 10 and Red Hat In-Vehicle OS 2. Kernel page table freeing is performed while an mmap read lock on init_mm is held, but on x86 and arm64 ptdump_walk_pgd() can walk kernel page table ranges through an mm other than init_mm without holding that lock. Since kernel memory ranges are shared across non-kernel mm structures, a local user with the privileges required to trigger the ptdump debug code path could race with concurrent kernel page table freeing, causing the page table dump to traverse page table pages while they are being freed and potentially resulting in memory corruption or a kernel crash (denial of service). There is no impact to the confidentiality or integrity of data. Red Hat Enterprise Linux 7 is not affected because the vulnerable code is not present in that release, and Red Hat Enterprise Linux 6 is out of support scope. Because the flawed code path is limited to a kernel debug facility that requires local privileged access to trigger and the practical impact is limited to system availability, Red Hat has deferred the fix for the affected products to a future update; the residual risk is that a sufficiently privileged local user able to trigger the race could crash the system.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred
Red Hat Enterprise Linux 6kernelOut of support scope
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelFix deferred
Red Hat Enterprise Linux 8kernel-rtFix deferred
Red Hat Enterprise Linux 9kernelFix deferred
Red Hat Enterprise Linux 9kernel-rtFix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-413
https://bugzilla.redhat.com/show_bug.cgi?id=2521370kernel: mm/ptdump: always stabilise against page table freeing using init_mm

EPSS

Процентиль: 6%
0.00173
Низкий

5.5 Medium

CVSS3

Связанные уязвимости

ubuntu
2 месяца назад

In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: always stabilise against page table freeing using init_mm Previous commits have established the invariant that kernel page table freeing is performed while an mmap read lock on init_mm is held, which fixes races between ptdump and kernel page table freeing over init_mm. However, x86 and arm64 can perform a ptdump over an mm other than init_mm via ptdump_walk_pgd() and since kernel memory ranges are shared across non-kernel mm's, this means that the race still exists for these cases. Fix this by acquiring a nested mmap write lock for init_mm in ptdump_walk_pgd(). This is safe as we take this after mmap write locking the mm, and nothing acquires the init_mm lock first before locking an arbitrary mm, so no deadlock is possible. Also update walk_page_range_debug() to assert that init_mm is write locked, add a comment explaining why and remove some redundant code, and eliminate the unnecessary and confusing in...

nvd
2 месяца назад

In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: always stabilise against page table freeing using init_mm Previous commits have established the invariant that kernel page table freeing is performed while an mmap read lock on init_mm is held, which fixes races between ptdump and kernel page table freeing over init_mm. However, x86 and arm64 can perform a ptdump over an mm other than init_mm via ptdump_walk_pgd() and since kernel memory ranges are shared across non-kernel mm's, this means that the race still exists for these cases. Fix this by acquiring a nested mmap write lock for init_mm in ptdump_walk_pgd(). This is safe as we take this after mmap write locking the mm, and nothing acquires the init_mm lock first before locking an arbitrary mm, so no deadlock is possible. Also update walk_page_range_debug() to assert that init_mm is write locked, add a comment explaining why and remove some redundant code, and eliminate the unnecessary and confusing

CVSS3: 6.4
msrc
25 дней назад

mm/ptdump: always stabilise against page table freeing using init_mm

debian
2 месяца назад

In the Linux kernel, the following vulnerability has been resolved: m ...

github
2 месяца назад

In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: always stabilise against page table freeing using init_mm Previous commits have established the invariant that kernel page table freeing is performed while an mmap read lock on init_mm is held, which fixes races between ptdump and kernel page table freeing over init_mm. However, x86 and arm64 can perform a ptdump over an mm other than init_mm via ptdump_walk_pgd() and since kernel memory ranges are shared across non-kernel mm's, this means that the race still exists for these cases. Fix this by acquiring a nested mmap write lock for init_mm in ptdump_walk_pgd(). This is safe as we take this after mmap write locking the mm, and nothing acquires the init_mm lock first before locking an arbitrary mm, so no deadlock is possible. Also update walk_page_range_debug() to assert that init_mm is write locked, add a comment explaining why and remove some redundant code, and eliminate the unnecessary and confus...

EPSS

Процентиль: 6%
0.00173
Низкий

5.5 Medium

CVSS3