The software utilizes a shared resource in a concurrent manner but does not attempt to synchronize access to the resource.
If access to a shared resource is not synchronized, then the resource may not be in a state that is expected by the software. This might lead to unexpected or insecure behaviors, especially if an attacker can influence the shared resource.
cwe_Nature: ChildOf cwe_CWE_ID: 662 cwe_View_ID: 1000 cwe_Ordinal: Primary
cwe_Nature: ChildOf cwe_CWE_ID: 662 cwe_View_ID: 699 cwe_Ordinal: Primary
|['Integrity', 'Confidentiality', 'Other']||['Modify Application Data', 'Read Application Data', 'Alter Execution Logic']|
The following code intends to fork a process, then have both the parent and child processes print a single line.
One might expect the code to print out something like:
However, because the parent and child are executing concurrently, and stdout is flushed each time a character is printed, the output might be mixed together, such as:
|映射的分类名||ImNode ID||Fit||Mapped Node Name|
|The CERT Oracle Secure Coding Standard for Java (2011)||LCK05-J||Synchronize access to static fields that can be modified by untrusted code|