PULSE
LIVE14signals / 24h
FEED
ransomcrpxo reclama a Encore Enterprises, Inc. · US · Otherransomthegentlemen reclama a Philippine Savings Bank · PH · Financial Servicesransomplay reclama a The Butcher Brothers · US · Retail & E-Commerceransomplay reclama a Sigma Plastics Group · US · Manufacturingransomplay reclama a Cambridge Management · US · Professional Servicesransomincransom reclama a quantinuum.com · US · Technologyransomglobal secret group reclama a Vernon & Waldrep · US · Professional Servicesransomqilin reclama a The Saturday Evening Post · US · Otherransomqilin reclama a Commercial Furniture Interiors · US · Retail & E-Commerceransomqilin reclama a Dienst Pack Systems · DE · Manufacturingransomqilin reclama a Ceragres · CA · Manufacturingransomqilin reclama a Pointe Property Group · US · Otherransomqilin reclama a Schreiner Trockenbau GmbH · AT · Manufacturingransomgammax reclama a MTCO (Mahmoud Altaheni & Partners Trading Co) · SA · Otherransomcrpxo reclama a Encore Enterprises, Inc. · US · Otherransomthegentlemen reclama a Philippine Savings Bank · PH · Financial Servicesransomplay reclama a The Butcher Brothers · US · Retail & E-Commerceransomplay reclama a Sigma Plastics Group · US · Manufacturingransomplay reclama a Cambridge Management · US · Professional Servicesransomincransom reclama a quantinuum.com · US · Technologyransomglobal secret group reclama a Vernon & Waldrep · US · Professional Servicesransomqilin reclama a The Saturday Evening Post · US · Otherransomqilin reclama a Commercial Furniture Interiors · US · Retail & E-Commerceransomqilin reclama a Dienst Pack Systems · DE · Manufacturingransomqilin reclama a Ceragres · CA · Manufacturingransomqilin reclama a Pointe Property Group · US · Otherransomqilin reclama a Schreiner Trockenbau GmbH · AT · Manufacturingransomgammax reclama a MTCO (Mahmoud Altaheni & Partners Trading Co) · SA · Other
← All CVEs
CVE WatchJul 30, 2026

CVE-2025-38554

In the Linux kernel, the following vulnerability has been resolved: mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped B

CVSS

7.8

High

EPSS

0.2%

p6

KEV

Exploit Today

2

0-100

Published: Aug 19, 2025 · Last modified: Jul 30, 2026 · CWE-416

EPSS · 30d
0.2%EPSS · 30 days0.2%
2026-07-042026-07-31
Technical description

In the Linux kernel, the following vulnerability has been resolved: mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped By inducing delays in the right places, Jann Horn created a reproducer for a hard to hit UAF issue that became possible after VMAs were allowed to be recycled by adding SLAB_TYPESAFE_BY_RCU to their cache. Race description is borrowed from Jann's discovery report: lock_vma_under_rcu() looks up a VMA locklessly with mas_walk() under rcu_read_lock(). At that point, the VMA may be concurrently freed, and it can be recycled by another process. vma_start_read() then increments the vma->vm_refcnt (if it is in an acceptable range), and if this succeeds, vma_start_read() can return a recycled VMA. In this scenario where the VMA has been recycled, lock_vma_under_rcu() will then detect the mismatching ->vm_mm pointer and drop the VMA through vma_end_read(), which calls vma_refcount_put(). vma_refcount_put() drops the refcount and then calls rcuwait_wake_up() using a copy of vma->vm_mm. This is wrong: It implicitly assumes that the caller is keeping the VMA's mm alive, but in this scenario the caller has no relation to the VMA's mm, so the rcuwait_wake_up() can cause UAF. The diagram depicting the race: T1 T2 T3 == == == lock_vma_under_rcu mas_walk <VMA gets removed from mm> mmap <the same VMA is reallocated> vma_start_read __refcount_inc_not_zero_limited_acquire munmap __vma_enter_locked refcount_add_not_zero vma_end_read vma_refcount_put __refcount_dec_and_test rcuwait_wait_event <finish operation> rcuwait_wake_up [UAF] Note that rcuwait_wait_event() in T3 does not block because refcount was already dropped by T1. At this point T3 can exit and free the mm causing UAF in T1. To avoid this we move vma->vm_mm verification into vma_start_read() and grab vma->vm_mm to stabilize it before vma_refcount_put() operation. [surenb@google.com: v3]

Official references
Related CVEs
CVECVSSEPSSKEVRExploitTitleMod.
CVE-2026-673007.5 HIG
FreeRDP before 3.29.0 contains client-side heap use-after-free vulnerabilities in the async update message proxy for RAIL WINDOW_STATE_ORDER and NOTIFY_ICON_STATE_ORDER when AsyncUpdate is enabled. When a malicious or compromised RDP server sends crafted update orders, the message proxy shallow-copies structures containing nested parser-owned pointers (e.g., titleInfo.string, windowRects, visibilityRects, icon buffers). The parser frees those nested buffers after the callback returns, so the queued async message later dispatches stale pointers, potentially causing memory corruption or a client crash.20h
CVE-2026-672997.5 HIG
FreeRDP before 3.29.0 contains a client-side heap use-after-free in the async update message proxy for WINDOW_ICON_ORDER when AsyncUpdate is enabled (e.g. xfreerdp /async-update). In update_message_WindowIcon() a shallow CopyMemory() overwrites a freshly allocated lParam->iconInfo with the parser-owned windowIcon->iconInfo pointer. After the parser callback returns, update_recv_window_info_order() frees window_icon.iconInfo, but the queued async message still retains and later dispatches that stale pointer. A malicious or compromised RDP server sending a crafted RAIL Window Alternate Secondary Order with WINDOW_ORDER_ICON can trigger use-after-free, leading to memory corruption and client crash.20h
CVE-2026-106857.6 HIG
0The Zephyr Bluetooth GATT client CCC-write response handler gatt_write_ccc_rsp() in subsys/bluetooth/host/gatt.c invoked the application's params->subscribe() callback after it had already called params->notify(conn, params, NULL, 0). Per the public GATT API, a notify callback with NULL data is the documented signal that the subscription has terminated and the bt_gatt_subscribe_params struct may be freed or reused by the application; calling subscribe() on the struct afterwards is a use-after-free, including an indirect call through the freed params->subscribe function pointer. The error branch is remotely (adjacent) reachable: a Zephyr device acting as a GATT client that calls bt_gatt_subscribe() can be driven into this ordering when a connected GATT server peer answers the CCC write with an ATT Error Response (the peer-supplied error code flows through att_error_rsp -> att_handle_rsp into gatt_write_ccc_rsp). For applications that free or recycle subscription parameters in their notification-termination handler, this results in memory corruption, a crash (denial of service), or potentially attacker-influenced control flow. The fix reorders the handler so the subscribe() callback runs before the terminating notify(NULL) in both the error and unsubscribe paths.2d
CVE-2026-630358.1 HIG
44.0%
13A heap use-after-free vulnerability in the TransferSubscriptions service in open62541 may allow an authenticated attacker to cause a denial of service or potentially execute arbitrary code.2d
CVE-2026-54522
2.1%
1MessagePack for Ruby is an implementation of the MessagePack binary serialization format. Prior to 1.8.2, MessagePack::Buffer#clear in ext/msgpack/buffer.c leaves rmem_last, rmem_end, and rmem_owner stale after _msgpack_buffer_shift_chunk returns an rmem page to the shared pool, allowing a subsequent Buffer#write and a second MessagePack::Buffer to alias the page and disclose or corrupt cross-buffer data. This issue is fixed in version 1.8.2.3d
CVE-2026-13117
29.3%
9An incomplete guard in OpenVPN 2.6.0 through 2.6.20 and 2.7_alpha1 through 2.7.4 allows remote authenticated peers to trigger a use-after-free during TLS session promotion, potentially leading to a denial of service or memory leakage3d