この製品はリエントラントであると思われるコードを呼び出すが、そのコードは意図せずにリエントラントでないコードのネストされた呼び出しを生成するコールを実行する。
複雑な製品では、1つの関数呼び出しが多くの異なる可能性のあるコード・パスにつながる可能性があり、その中には深くネストされた呼び出しが含まれることもある。たとえその呼び出しがリエントラントであると仮定されていたとしても、ある関数呼び出しから発生する可能性のあるコードパスをすべて予見することは難しいかもしれない。システムによっては、外部のアクターがシステムへの入力を操作することで、幅広い制御フローを実現できる場合がある。これは、信頼できないソースからスクリプトを実行する製品において、頻繁に懸念されることである。このような製品の例としては、ウェブブラウザやPDFリーダーがある。ある関数の呼び出しから生じる可能性のあるコードパスの1つが、元の呼び出し元が呼び出し中に変更されないと想定しているプログラム状態を変更する場合、弱点が存在することになる。
The product invokes code that is believed to be reentrant, but the code performs a call that unintentionally produces a nested invocation of the non-reentrant code.
In a complex product, a single function call may lead to many different possible code paths, some of which may involve deeply nested calls. It may be difficult to foresee all possible code paths that could emanate from a given function call, even if that call is assumed to be reentrant. In some systems, an external actor can manipulate inputs to the system and thereby achieve a wide range of possible control flows. This is frequently a concern in products that execute scripts from untrusted sources. Examples of such products are web browsers and PDF readers. A weakness is present when one of the possible code paths resulting from a function call alters program state that the original caller assumes to be unchanged during the call.