CWE-733: Compiler Optimization Removal or Modification of Security-critical Code
Compiler Optimization Removal or Modification of Security-critical Code
Weakness ID: 733 (Weakness Base)
Status: Incomplete
Description
Description Summary
The developer builds a security-critical protection mechanism
into the software but the compiler optimizes the program such that the mechanism
is removed or modified.
Applicable Platforms
Languages
C: (Often)
C++: (Often)
All Compiled Languages
Detection Factors
Black Box:
This specific weakness is impossible to detect using black box
methods. While an analyst could examine memory to see that it has not
been scrubbed, an analysis of the executable would not be successful.
This is because the compiler has already removed the relevant code. Only
the source code shows whether the programmer intended to clear the
memory or not, so this weakness is indistinguishable from others.
White Box:
This weakness is only detectable using white box methods (see black
box detection factor). Careful analysis is required to determine if the
code is likely to be removed by the compiler.