Skip to content
OpenAdvisories

Weakness (CWE)

CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization

Class Draft

The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

How to prevent it (8 mitigations)
  1. Architecture and Design

    In languages that support it, use synchronization primitives. Only wrap these around critical code to minimize the impact on performance.

  2. Architecture and Design

    Use thread-safe capabilities such as the data access abstraction in Spring.

  3. Architecture and Design

    Minimize the usage of shared resources in order to remove as much complexity as possible from the control flow and to reduce the likelihood of unexpected conditions occurring.

    Additionally, this will minimize the amount of synchronization necessary and may even help to reduce the likelihood of a denial of service where an attacker may be able to repeatedly trigger a critical section (CWE-400).

  4. Implementation

    When using multithreading and operating on shared variables, only use thread-safe functions.

  5. Implementation

    Use atomic operations on shared variables. Be wary of innocent-looking constructs such as "x++". This may appear atomic at the code layer, but it is actually non-atomic at the instruction layer, since it involves a read, followed by a computation, followed by a write.

  6. Implementation

    Use a mutex if available, but be sure to avoid related weaknesses such as CWE-412.

  7. Implementation

    Avoid double-checked locking (CWE-609) and other implementation errors that arise when trying to avoid the overhead of synchronization.

  8. Implementation

    Disable interrupts or signals over critical parts of the code, but also make sure that the code does not go into a large or infinite loop.

Source: MITRE CWE-362

1,600 results · Feed

  • Low 2.9

    wgp race condition in inner::drop

    inner::drop in inner.rs in the wgp crate through 0.2.0 for Rust lacks drop_slow thread synchronization.

  • Medium 4.2

    Rack session gets restored after deletion

    Rack::Session is a session management implementation for Rack. In versions starting from 2.0.0 to before 2.1.1, when using the Rack::Session::Pool middleware, and provided the attacker can acquire a session cookie (already a major issue), the session may be r…

  • Medium 4.2

    Rack session gets restored after deletion

    Rack is a modular Ruby web server interface. Prior to version 2.2.14, when using the `Rack::Session::Pool` middleware, simultaneous rack requests can restore a deleted rack session, which allows the unauthenticated user to occupy that session. Rack session mi…

  • Medium 5.3

    WordPress Poll Maker plugin <= 5.7.7 - Race Condition Vulnerability

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') vulnerability in Ays Pro Poll Maker poll-maker allows Leveraging Race Conditions.This issue affects Poll Maker: from n/a through <= 5.7.7.

  • Medium 5.3

    IBM Db2 denial of service

    IBM Db2 for Linux, UNIX and Windows (includes DB2 Connect Server) 12.1.0 through 12.1.1 could allow an authenticated user to cause a denial of service due to concurrent execution of shared resources.

  • High 7.8

    netfilter: nf_tables: netlink notifier might race to release objects

    In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: netlink notifier might race to release objects commit release path is invoked via call_rcu and it runs lockless to release the objects after rcu grace period. The netlin…

  • Medium 5.7

    CatoNetworks CatoClient up to 5.8 PrivilegedHelperTool Race Condition

    An issue in CatoNetworks CatoClient before v.5.8.0 allows attackers to escalate privileges and achieve a race condition (TOCTOU) via the PrivilegedHelperTool component.

  • High 7.5

    OpenPLC 3 through 64f9c11 has server.cpp Memory Corruption because a thread may access handleConnections arguments afte…

  • Medium 6.8

    A security vulnerability has been identified in HPE Cray Data Virtualization Service (DVS). Depending on race condition…

  • Medium 4.0

    Cilium packets from terminating endpoints may not be encrypted in Wireguard-enabled clusters

    Cilium is a networking, observability, and security solution with an eBPF-based dataplane. Versions 1.15.0 to 1.15.15, 1.16.0 to 1.16.8, and 1.17.0 to 1.17.2, are vulnerable when using Wireguard transparent encryption in a Cilium cluster, packets that origina…

  • Low 3.5

    nopCommerce through 4.90.1 does not offer locking for order placement. Thus there is a race condition with duplicate re…

  • Medium 6.5

    Race condition in nsHttpTransaction could lead to memory corruption

    A race condition existed in nsHttpTransaction that could have been exploited to cause memory corruption, potentially leading to an exploitable condition. This vulnerability was fixed in Firefox 137.0.2.

  • High 7.0

    Windows Secure Channel Elevation of Privilege Vulnerability

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

  • High 7.0

    Windows Secure Channel Elevation of Privilege Vulnerability

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

  • High 7.8

    mm: fix kernel BUG when userfaultfd_move encounters swapcache

    In the Linux kernel, the following vulnerability has been resolved: mm: fix kernel BUG when userfaultfd_move encounters swapcache userfaultfd_move() checks whether the PTE entry is present or a swap entry. - If the PTE entry is present, move_present_pte() han…

  • High 8.1

    ksmbd: fix type confusion via race condition when using ipc_msg_send_request

    In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix type confusion via race condition when using ipc_msg_send_request req->handle is allocated using ksmbd_acquire_id(&ipc_ida), based on ida_alloc. req->handle from ksmbd_ipc_login_re…

  • Medium 4.7

    gpio: aggregator: protect driver attr handlers against module unload

    In the Linux kernel, the following vulnerability has been resolved: gpio: aggregator: protect driver attr handlers against module unload Both new_device_store and delete_device_store touch module global resources (e.g. gpio_aggregator_lock). To prevent race c…

  • Critical 9.8

    A race condition was addressed with improved locking. This issue is fixed in macOS Sequoia 15.4, macOS Sonoma 14.7.5, m…

  • Medium 4.7

    A race condition was addressed with additional validation. This issue is fixed in macOS Sequoia 15.4, macOS Sonoma 14.7…

  • High 7.8

    A race condition was addressed with additional validation. This issue is fixed in macOS Sequoia 15.4, macOS Sonoma 14.7…

  • Medium 4.7

    l2tp: close all race conditions in l2tp_tunnel_register()

    In the Linux kernel, the following vulnerability has been resolved: l2tp: close all race conditions in l2tp_tunnel_register() The code in l2tp_tunnel_register() is racy in several ways: 1. It modifies the tunnel socket _after_ publishing it. 2. It calls setup…

  • Medium 4.3

    Discourse has race condition when adding users to a group DM

    Discourse is an open-source discussion platform. Prior to versions `3.3.4` on the `stable` branch and `3.4.0.beta5` on the `beta` branch, someone who is about to reach the limit of users in a group DM may send requests to add new users in parallel. The reques…

  • Low 3.1

    Network restriction bypass via race condition during namespace termination

    A security issue was discovered in Kubernetes where a malicious or compromised pod could bypass network restrictions enforced by network policies during namespace deletion. The order in which objects are deleted during namespace termination is not defined, an…

  • Low 3.5

    Shearwater SecurEnvoy SecurAccess Enrol before 9.4.515 is intended to disable accounts that have had more than 10 faile…

  • High —

    Horcrux Double Sign Possibility

    # **Horcrux Incident Disclosure: Possible Double-Sign** ## **Summary** On March 6, 2025, a Horcrux user (01node) experienced a double-signing incident on the Osmosis network, resulting in a 5% slash penalty (approximately 75,000 OSMO or $20,000 USD). After th…

  • Medium 6.7

    Multi-thread problem vulnerability in the package management module Impact: Successful exploitation of this vulnerabili…

  • High 8.6

    Multi-concurrency vulnerability in the media digital copyright protection module Impact: Successful exploitation of thi…

  • High 8.1

    Aap-gateway: aap-gateway privilege escalation

    A flaw was found in the Ansible aap-gateway. Concurrent requests handled by the gateway grpc service can result in concurrency issues due to race condition requests against the proxy. This issue potentially allows a less privileged user to obtain the JWT of a…

  • Medium 6.0

    Cisco Application Policy Infrastructure Controller Authenticated Local Denial of Service Vulnerability

    A vulnerability in the system file permission handling of Cisco APIC could allow an authenticated, local attacker to overwrite critical system files, which could cause a DoS condition. To exploit this vulnerability, the attacker must have valid administrative…

  • Medium 4.7

    sysctl: Fix data races in proc_douintvec().

    In the Linux kernel, the following vulnerability has been resolved: sysctl: Fix data races in proc_douintvec(). A sysctl variable is accessed concurrently, and there is always a chance of data-race. So, all readers and writers need some basic protection to av…

  • Medium 4.7

    sysctl: Fix data races in proc_douintvec_minmax().

    In the Linux kernel, the following vulnerability has been resolved: sysctl: Fix data races in proc_douintvec_minmax(). A sysctl variable is accessed concurrently, and there is always a chance of data-race. So, all readers and writers need some basic protectio…

  • Medium 4.7

    icmp: Fix data-races around sysctl.

    In the Linux kernel, the following vulnerability has been resolved: icmp: Fix data-races around sysctl. While reading icmp sysctl variables, they can be changed concurrently. So, we need to add READ_ONCE() to avoid data-races.

  • Medium 4.7

    cipso: Fix data-races around sysctl.

    In the Linux kernel, the following vulnerability has been resolved: cipso: Fix data-races around sysctl. While reading cipso sysctl variables, they can be changed concurrently. So, we need to add READ_ONCE() to avoid data-races.

  • Medium 4.7

    ipv4: Fix a data-race around sysctl_fib_sync_mem.

    In the Linux kernel, the following vulnerability has been resolved: ipv4: Fix a data-race around sysctl_fib_sync_mem. While reading sysctl_fib_sync_mem, it can be changed concurrently. So, we need to add READ_ONCE() to avoid a data-race.

  • Medium 4.7

    sysctl: Fix data-races in proc_dou8vec_minmax().

    In the Linux kernel, the following vulnerability has been resolved: sysctl: Fix data-races in proc_dou8vec_minmax(). A sysctl variable is accessed concurrently, and there is always a chance of data-race. So, all readers and writers need some basic protection …

  • Medium 4.7

    icmp: Fix data-races around sysctl_icmp_echo_enable_probe.

    In the Linux kernel, the following vulnerability has been resolved: icmp: Fix data-races around sysctl_icmp_echo_enable_probe. While reading sysctl_icmp_echo_enable_probe, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers.

  • Medium 4.7

    icmp: Fix a data-race around sysctl_icmp_errors_use_inbound_ifaddr.

    In the Linux kernel, the following vulnerability has been resolved: icmp: Fix a data-race around sysctl_icmp_errors_use_inbound_ifaddr. While reading sysctl_icmp_errors_use_inbound_ifaddr, it can be changed concurrently. Thus, we need to add READ_ONCE() to it…

  • Medium 4.7

    raw: Fix a data-race around sysctl_raw_l3mdev_accept.

    In the Linux kernel, the following vulnerability has been resolved: raw: Fix a data-race around sysctl_raw_l3mdev_accept. While reading sysctl_raw_l3mdev_accept, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader.

  • Medium 4.7

    tcp: Fix a data-race around sysctl_tcp_ecn_fallback.

    In the Linux kernel, the following vulnerability has been resolved: tcp: Fix a data-race around sysctl_tcp_ecn_fallback. While reading sysctl_tcp_ecn_fallback, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader.

  • Medium 4.7

    nexthop: Fix data-races around nexthop_compat_mode.

    In the Linux kernel, the following vulnerability has been resolved: nexthop: Fix data-races around nexthop_compat_mode. While reading nexthop_compat_mode, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers.