CWE一覧に戻る
CWE-825

期限切れポインタの削除

Expired Pointer Dereference
脆弱性 作成中
JA

この製品は、以前は有効であったが、現在は無効になっているメモリの場所を含むポインタを再参照する。

製品がメモリを解放しても、そのメモリへのポインタを保持している場合、そのメモリは後で再割り当てされる可能性があります。元のポインタにアクセスしてデータの読み取りや書き込みを行うと、別の機能やプロセスが使用中のデータを読み取ったり変更したりする可能性がある。新しく割り当てられたメモリの使用方法によっては、サービス拒否や情報漏洩、コード実行につながる可能性があります。

EN

The product dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid.

When a product releases memory, but it maintains a pointer to that memory, then the memory might be re-allocated at a later time. If the original pointer is accessed to read or write data, then this could cause the product to read or modify data that is in use by a different function or process. Depending on how the newly-allocated memory is used, this could lead to a denial of service, information exposure, or code execution.

Scope: Confidentiality / Impact: Read Memory
Scope: Availability / Impact: DoS: Crash, Exit, or Restart
Scope: Integrity, Confidentiality, Availability / Impact: Execute Unauthorized Code or Commands
Choose a language that provides automatic memory management.
When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.
MITRE公式ページ — CWE-825