CWE-432 在敏感操作时危险信号处理例程未被禁用

Dangerous Signal Handler not Disabled During Sensitive Operations

结构: Simple

Abstraction: Base

状态: Draft

被利用可能性: unkown

基本描述

The application uses a signal handler that shares state with other signal handlers, but it does not properly mask or prevent those signal handlers from being invoked while the original signal handler is still running.

扩展描述

During the execution of a signal handler, it can be interrupted by another handler when a different signal is sent. If the two handlers share state - such as global variables - then an attacker can corrupt the state by sending another signal before the first handler has completed execution.

相关缺陷

  • cwe_Nature: ChildOf cwe_CWE_ID: 364 cwe_View_ID: 1000 cwe_Ordinal: Primary

  • cwe_Nature: ChildOf cwe_CWE_ID: 364 cwe_View_ID: 699 cwe_Ordinal: Primary

适用平台

Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}

常见的影响

范围 影响 注释
Integrity Modify Application Data

可能的缓解方案

Implementation

策略:

Turn off dangerous handlers when performing sensitive operations.

分类映射

映射的分类名 ImNode ID Fit Mapped Node Name
CERT C Secure Coding SIG00-C Mask signals handled by noninterruptible signal handlers
PLOVER Dangerous handler not cleared/disabled during sensitive operations