CyberSecBulletin

Use After Free

CWE-416

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory belongs to the code that operates on the new pointer.

We track 4,465 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.3. 109 have been exploited in real attacks.

How this weakness is prevented

  • Architecture and Design: Choose a language that provides automatic memory management.
  • Implementation: When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.

Latest Use After Free vulnerabilities

  • 7.0 High severity

    Windows 10 Version 1607: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-62729Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Telephony Service allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    Windows 11 Version 24H2: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-62705Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Bind Filter Driver allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    Windows 11 Version 24H2: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-62693Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows MIDI Service Module allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    Windows 10 Version 1809: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-62690Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Push Notifications allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    Windows 10 Version 1607: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-59122Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Telephony Service allows an authorized attacker to elevate privileges locally.

  • 8.3 High severity

    Zoom Clients: Use After Free

    CVE-2026-53415Zoom Communications

    Use after Free in the annotator function of Zoom Clients may allow a meeting participant to achieve remote code execution of another participant via network access.

  • 7.8 High severity

    Solid Edge SE2025: Use After Free

    CVE-2026-50061Siemens

    A vulnerability has been identified in Solid Edge SE2025 (All versions < V225.0 Update 15), Solid Edge SE2026 (All versions < V226.0 Update 7). The affected applications contain a use-after-free vulnerability that could be triggered while parsing specially cra

  • 7.8 High severity

    Solid Edge SE2025: Use After Free

    CVE-2026-50060Siemens

    A vulnerability has been identified in Solid Edge SE2025 (All versions < V225.0 Update 15), Solid Edge SE2026 (All versions < V226.0 Update 7). The affected applications contain a use-after-free vulnerability that could be triggered while parsing specially cra

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68427Linux

    In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Fix use-after-free in host1x_bo_clear_cached_mappings __host1x_bo_unpin() drops the last reference to the mapping and frees it, so we can't dereference mapping afterwards. The cac

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68426Linux

    In the Linux kernel, the following vulnerability has been resolved: xfrm: fix stale skb->prev after async crypto steals a GSO segment skb_gso_segment() leaves the segment list head with ->prev pointing at the last segment, an invariant validate_xmit_skb_list()

  • 7.5 High severity

    Linux: Use After Free

    CVE-2026-68414Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel sched scan results work on unregister cfg80211_sched_scan_results() can queue rdev->sched_scan_res_wk from a driver result notification while a scheduled scan request is

  • 8.8 High severity

    Linux: Use After Free

    CVE-2026-68409Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: defer link RX stats percpu free to RCU sta_remove_link() frees a removed MLO link's RX stats percpu buffer right away, but defers only the link container to RCU: sta_info_free_

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68399Linux

    In the Linux kernel, the following vulnerability has been resolved: bpf: Fix UAF in sock clone early bailouts Similar to recent commit 9b51a6155d14 ("bpf,fork: wipe ->bpf_storage before bailouts that access it"), sk_clone() performs an initial shallow copy of

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68398Linux

    In the Linux kernel, the following vulnerability has been resolved: ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF pppol2tp_recv() runs in the L2TP UDP-encap softirq RX path: l2tp_udp_encap_recv() -> l2tp_recv_common() -> pppol2tp_recv()

  • 8.8 High severity

    Linux: Use After Free

    CVE-2026-68397Linux

    In the Linux kernel, the following vulnerability has been resolved: net/iucv: take a reference on the socket found in afiucv_hs_rcv() afiucv_hs_rcv() looks up the destination socket under iucv_sk_list.lock, drops the lock, and then passes the socket to the afi

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68394Linux

    In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: revalidate LOAD_CONN_PARAM queued update MGMT_OP_LOAD_CONN_PARAM queues conn_update_sync() when a single parameter update changes an existing LE central connection. The queued

  • 8.8 High severity

    Linux: Use After Free

    CVE-2026-68393Linux

    In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: extend conn_hash lookup critical sections Using RCU-protected pointers outside the critical sections without refcount is incorrect and may result to UAF. Extend critical s

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68391Linux

    In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: hold reference for hci_conn in mgmt_pending_cmds Dereferencing RCU-protected pointers outside critical sections is invalid and may lead to UAF. Use of hci_conn in hci_sync cal

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68383Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/xe/guc: Keep scheduler timeline name alive The scheduler keeps a pointer to the timeline name, but q->name is freed with the exec queue while scheduler fences can still reference it. Store

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68381Linux

    In the Linux kernel, the following vulnerability has been resolved: ksmbd: pin conn during async oplock break notification smb2_oplock_break_noti() and smb2_lease_break_noti() store a ksmbd_conn pointer in an async ksmbd_work and then queue that work on ksmbd-

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68377Linux

    In the Linux kernel, the following vulnerability has been resolved: net/sched: act_tunnel_key: Defer dst_release to RCU callback Fix a race-condition use-after-free in tunnel_key_release_params(). The function releases the metadata_dst of the old params synchr

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68374Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: core: sysfs: add lock to bos_descriptors_read() Add a lock to the function bos_descriptors_read(). This function accesses udev->bos, which could be simultaneously freed in usb_reset_and_v

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68335Linux

    In the Linux kernel, the following vulnerability has been resolved: rds: drop incoming messages that cross network namespace boundaries rds_find_bound() looks up the destination socket using a global rhashtable keyed solely on (addr, port, scope_id). Network n

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68290Linux

    In the Linux kernel, the following vulnerability has been resolved: rds: tcp: unregister sysctl before tearing down listen socket rds_tcp_exit_net() frees the per-netns RDS TCP listen socket via rds_tcp_kill_sock() before unregistering the per-netns sysctl tab

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68284Linux

    In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix cork use-after-free in tcp_bpf_sendmsg() tcp_bpf_sendmsg() keeps msg_tx across sk_stream_wait_memory(), which drops and reacquires the socket lock. Its error path tries to de

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68266Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/xe: Hold a dma-buf reference for imported BOs An imported dma-buf BO is created as a ttm_bo_type_sg BO whose reservation object is the exporter's dma_buf->resv. The importer, however, only

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68202Linux

    In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: close a re-opened queue timer in the destructor queue_delete() closes the queue timer, then frees it. snd_seq_timer_close() clears q->timer->timeri. snd_use_lock_sync() then drains

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68201Linux

    In the Linux kernel, the following vulnerability has been resolved: ALSA: timer: drain a slave's callback before its master detaches it snd_timer_close_locked() drains the closing instance's own in-flight callback (IFLG_CALLBACK) before freeing it, but not its

  • 8.8 High severity

    Linux: Use After Free

    CVE-2026-68198Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: ath6kl: fix use-after-free in aggr_reset_state() The aggr_reset_state() function uses timer_delete() (non-synchronous) for the aggregation timer before proceeding to delete TID state and

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68178Linux

    In the Linux kernel, the following vulnerability has been resolved: misc: nsm: pin the module while the device is open misc_open() installs a misc driver's file operations with fops_get(), which pins file_operations::owner before replacing the file's f_op. The

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68162Linux

    In the Linux kernel, the following vulnerability has been resolved: sctp: avoid auth_enable sysctl UAF during netns teardown proc_sctp_do_auth() updates the SCTP control socket after changing net.sctp.auth_enable. The handler gets the per-net SCTP state from c

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68156Linux

    In the Linux kernel, the following vulnerability has been resolved: libceph: refresh auth->authorizer_buf{,_len} after authorizer update ceph_x_create_authorizer() caches au->buf->vec.iov_base and au->buf->vec.iov_len in struct ceph_auth_handshake. These cache

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68153Linux

    In the Linux kernel, the following vulnerability has been resolved: libceph: remove debugfs files before client teardown ceph_destroy_client() tears down the monitor client before removing the per-client debugfs files. A concurrent read of the monmap debugfs f

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68148Linux

    In the Linux kernel, the following vulnerability has been resolved: fscrypt: Add missing superblock check in find_or_insert_direct_key() The legacy 'fscrypt_direct_keys' table caches master keys that are used by v1 encryption policies that have FSCRYPT_POLICY_

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68144Linux

    In the Linux kernel, the following vulnerability has been resolved: phonet: pep: fix use-after-free in pep_get_sb() pep_get_sb() doesn't consider that pskb_may_pull() might have relocated the skb data, and continue to access the older pointer, causing UAF. Rep

  • 8.8 High severity

    Linux: Use After Free

    CVE-2026-68140Linux

    In the Linux kernel, the following vulnerability has been resolved: net/iucv: fix use-after-free of a severed iucv_path af_iucv queues not-yet-received message notifications on iucv->message_q, each holding a raw pointer to the connection's iucv_path. When the

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68127Linux

    In the Linux kernel, the following vulnerability has been resolved: ila: reload IPv6 header after pskb_may_pull in checksum adjust ila_csum_adjust_transport() caches ip6h = ipv6_hdr(skb) before calling pskb_may_pull(). On a non-linear skb whose transport heade

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68121Linux

    In the Linux kernel, the following vulnerability has been resolved: pppoe: reload header pointer after dev_hard_header() pppoe_sendmsg() saves a pointer to the PPPoE header before calling dev_hard_header(). Device header callbacks are allowed to reallocate the

  • 9.8 Critical severity

    Linux: Use After Free

    CVE-2026-68117Linux

    In the Linux kernel, the following vulnerability has been resolved: tipc: clear sock->sk on the failed-insert path in tipc_sk_create() When tipc_sk_create() fails to insert the new socket (tipc_sk_insert() returns non-zero), its error path frees the sk with sk

  • 7.8 High severity

    Linux: Use After Free

    CVE-2026-68104Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: invoke pm_genpd_remove() before freeing genpd Call pm_genpd_remove() to unregister from global list prior to releasing acp_genpd memory, and clear the pointer after free. (cherry p