BaseIncomplete

CWE-464Addition of Data Structure Sentinel

Category: other

Description

The accidental addition of a data-structure sentinel can cause serious programming logic problems. Data-structure sentinels are often used to mark the structure of data. A common example of this is the null character at the end of strings or a special sentinel to mark the end of a linked list. It is dangerous to allow this type of control data to be easily accessible. Therefore, it is important to protect from the addition or modification of sentinels.

Common consequences· 1

  • Integrity — Modify Application Data
    Generally this error will cause the data structure to not work properly by truncating the data.

Potential mitigations· 4

  • [Implementation, Architecture and Design]Encapsulate the user from interacting with data sentinels. Validate user input to verify that sentinels are not present.
  • [Implementation]Proper error checking can reduce the risk of inadvertently introducing sentinel values into data. For example, if a parsing function fails or encounters an error, it might return a value that is the same as the sentinel.
  • [Architecture and Design]Use an abstraction library to abstract away risky APIs. This is not a complete solution.
  • [Operation]Use OS-level preventative functionality. This is not a complete solution.

References

  1. https://cwe.mitre.org/data/definitions/464.html

Related by meaning· 6

Nearest entities by semantic similarity across the cs-graph corpus.

CWE
Deletion of Data Structure Sentinel
CWE
Improper Null Termination
CWE
Use of Uninitialized Variable
CWE
DEPRECATED: Miscalculated Null Termination
CWE
Insufficient Control Flow Management
CWE
Failure to Handle Missing Parameter
Sourced from MITRE CWE 4.20. Curated for EU compliance use cases by Adam Lundqvist, Founder at SQUR.