Unsynchronized Access to Shared Data |
Weakness ID: 567 (Weakness Base) | Status: Draft |
Description Summary
Example 1
A shared variable vulnerability can be prevented by removing the use of static variables used between servlets or to provide protection when shared access is absolutely needed. In this case, access should be synchronized. |
The vulnerability can exist in servlets because a servlet is multi-threaded, and shared static variables are not protected from concurrent access. This is a typical programming mistake in J2EE applications, since the multi-threading is handled by the framework. The use of shared variables can be exploited by attackers to gain information or to cause denial of service conditions. If this shared data contains sensitive information, it may be manipulated or displayed in another user session. If this data is used to control the application, its value can be manipulated to cause the application to crash or perform poorly. |
Nature | Type | ID | Name | View(s) this relationship pertains to![]() |
---|---|---|---|---|
ChildOf | ![]() | 557 | Concurrency Issues | Development Concepts (primary)699 |
ChildOf | ![]() | 662 | Insufficient Synchronization | Research Concepts (primary)1000 |
PeerOf | ![]() | 488 | Data Leak Between Sessions | Research Concepts1000 |
CAPEC-ID | Attack Pattern Name | (CAPEC Version: 1.4) |
---|---|---|
25 | Forced Deadlock |