CWE一覧に戻る
CWE-464

データ構造センチネルの追加

Addition of Data Structure Sentinel
脆弱性 作成中
JA

データ構造のセンチネルを誤って追加すると、プログラミング・ロジックに深刻な問題を引き起こす可能性がある。

データ構造のセンチネルは、データの構造をマークするためによく使われる。よくある例としては、文字列の末尾のヌル文字や、リンクリストの末尾を示す特別なセンチネルがある。この種の制御データに簡単にアクセスできるようにするのは危険である。従って、センチネルの追加や変更から保護することが重要である。

EN

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.

Scope: Integrity / Impact: Modify Application Data
Encapsulate the user from interacting with data sentinels. Validate user input to verify that sentinels are not present.
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.
Use an abstraction library to abstract away risky APIs. This is not a complete solution.
Use OS-level preventative functionality. This is not a complete solution.
MITRE公式ページ — CWE-464