Finally-Klauseln, die einen sicherheitsbezogenen Zustand wiederherstellen, sollten von einem äußeren try-Block umschlossen ...

Finally-Klauseln, die einen sicherheitsbezogenen Zustand wiederherstellen, sollten von einem äußeren try-Block umschlossen werden, damit kein Ausnahmefilter weiter oben in der Liste ausgeführt wird, bevor eine sichere Umgebung wiederhergestellt werden kann. Ausnahmefilter, die Codeausdrücke im ersten Durchlauf nach den geschützten try-Blöcken und vor dem verknüpften finally-Block ausführen können, stellen möglicherweise ein Sicherheitsrisiko dar. Beispiele für anfällige Funktionen in finally-Klauseln, die davor geschützt sein sollten, sind: Aufrufe an RevertAssert für eine gewährte Berechtigung, Aufheben eines temporären Identitätswechsels, Rückgängigmachen eines internen Flags, das eine Sicherheitsüberprüfung umgeht, und Wiederherstellen der mit dem Thread verknüpften Kultur.