この製品は、スレッド間で静的変数などの共有データを適切に同期していないため、未定義の動作や予測不可能なデータ変更につながる可能性があります。
サーブレット内では、共有静的変数は同時アクセスから保護されませんが、サーブレットはマルチスレッドです。マルチスレッドはフレームワークによって処理されるので、これは J2EE アプリケーションにおける典型的なプログラミングミスです。共有変数が攻撃者に影響される可能性がある場合、あるスレッドが変数を修正し、その変数内のデータを使用している別のスレッドにとって有効でないデータを含んでしまう可能性があります。
この弱点はサーブレット特有のものではないことに注意してほしい。
The product does not properly synchronize shared data, such as static variables across threads, which can lead to undefined behavior and unpredictable data changes.
Within servlets, shared static variables are not protected from concurrent access, but servlets are multithreaded. This is a typical programming mistake in J2EE applications, since the multithreading is handled by the framework. When a shared variable can be influenced by an attacker, one thread could wind up modifying the variable to contain data that is not valid for a different thread that is also using the data within the variable.
Note that this weakness is not unique to servlets.