Skip to content
OpenAdvisories

Weakness (CWE)

CWE-662: Improper Synchronization

Class Draft Mapping discouraged

The product utilizes multiple threads, processes, components, or systems to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes.

More detail

Synchronization mechanisms vary widely, but they may include locking, mutexes, and semaphores.

How to prevent it (1 mitigation)
  1. Implementation

    Use industry standard APIs to synchronize your code.

Source: MITRE CWE-662

51 results · Feed

  • High 7.0

    Data races in gfwx

    An issue was discovered in the gfwx crate before 0.3.0 for Rust. Because ImageChunkMut does not have bounds on its Send trait or Sync trait, a data race and memory corruption can occur.

  • Medium 5.9

    Data races in multiqueue2

    An issue was discovered in the multiqueue2 crate before 0.1.7 for Rust. Because a non-Send type can be sent to a different thread, a data race can occur.

  • High 7.5

    Data races in hashconsing

    An issue was discovered in the hashconsing crate before 1.1.0 for Rust. Because HConsed does not have bounds on its Send trait or Sync trait, memory corruption can occur.

  • Medium 5.9

    Data race in eventio

    An issue was discovered in Input<R> in the eventio crate before 0.5.1 for Rust. Because a non-Send type can be sent to a different thread, a data race and memory corruption can occur.

  • Medium 5.9

    Data race in may_queue

    An issue was discovered in the may_queue crate through 2020-11-10 for Rust. Because Queue does not have bounds on its Send trait or Sync trait, memory corruption can occur.

  • Medium 5.9

    Improper synchronization in buttplug

    An issue was discovered in the buttplug crate before 1.0.4 for Rust. ButtplugFutureStateShared does not properly consider (!Send|!Sync) objects, leading to a data race.

  • Medium 5.9

    Data race in atomic-option

    An issue was discovered in the atomic-option crate through 2020-10-31 for Rust. Because AtomicOption<T> implements Sync unconditionally, a data race can occur.

  • Medium 5.9

    Data race in va-ts

    An issue was discovered in the va-ts crate before 0.0.4 for Rust. Because Demuxer<T> omits a required T: Send bound, a data race and memory corruption can occur.

  • Medium 5.5

    Data races in thex

    An issue was discovered in the thex crate through 2020-12-08 for Rust. Thex<T> allows cross-thread data races of non-Send types.

  • High 7.5

    Improper Synchronization and Race Condition in vm-memory

    rust-vmm vm-memory before 0.1.1 and 0.2.x before 0.2.1 allows attackers to cause a denial of service (loss of IP networking) because read_obj and write_obj do not properly access memory. This affects aarch64 (with musl or glibc) and x86_64 (with musl).

  • High 7.5

    Wrong memory orderings violates mutual exclusion in spin

    An issue was discovered in the spin crate before 0.5.2 for Rust, when RwLock is used. Because memory ordering is mishandled, two writers can acquire the lock at the same time, violating mutual exclusion.