This vulnerability occurs when a program accidentally removes or corrupts a special marker used to define the boundaries of a data structure, leading to logic errors and unexpected behavior.
Data structures often use hidden markers, called sentinels, to signal where they begin or end. Common examples include the null terminator ('\0') at the end of a string or a special node marking the tail of a linked list. If your code mistakenly deletes or overwrites this sentinel, the structure loses its defined boundary, causing functions that rely on it to fail or behave unpredictably. To prevent this, you should encapsulate the data structure and its sentinel within a controlled interface or API. This wrapper manages all access, ensuring that the critical sentinel value cannot be directly modified or deleted by other parts of the program. Treating the sentinel as protected internal state, rather than exposed data, is key to maintaining structural integrity and avoiding logic flaws.
Impact: Other
Generally this error will cause the data structure to not work properly.
Impact: Other
If a control character, such as NULL is removed, one may cause resource access control problems.
Strategy: Compilation or Build Hardening
Effectiveness: Defense in Depth
c