赞
踩
ID: 191 类型:基础 | 状态:草稿 |
描述
从另一个值中减去一个值,结果小于允许的最小整数值,该整数值产生的值不等于正确的结果。
扩展描述
这可能在有符号和无符号的情况下发生
相关视图
与“研究层面”视图(CWE-1000)相关
同“公开弱点简图”视图(CWE-1003)相关
与“开发层面”视图(CWE-699)相关
引入模式
阶段 | 说明 |
实现 |
应用平台
语言
C (出现的可能性不确定)
C++ (出现的可能性不确定)
Java (出现的可能性不确定)
C# (出现的可能性不确定)
后果
范围 | 冲击 | 可能性 |
可利用性 | 技术冲击: DoS: 崩溃、推出或者重启: DoS: 资源消耗(CPU): DoS: 资源消耗 (内存):; DoS: 不稳定 这种弱点通常会导致未定义的行为,从而导致崩溃。在涉及循环索引变量的溢出情况下,无限循环的可能性也很高。 | |
完整性 | 技术冲击: 修改内存 如果所讨论的值对数据(而不是流)很重要,则会发生简单的数据损坏。此外,如果环绕导致其他条件(如缓冲区溢出),则可能会发生进一步的内存损坏。 | |
保密性 | 技术冲击: 执行未获授权的代码或者命令;越过保护机制 这种弱点有时会触发缓冲区溢出,可用于执行任意代码。这通常不在程序隐式安全策略的范围内。 |
示例
例1
下面的示例从32位有符号整数中减去一个数。
(问题代码)
Example Language: C
#include <stdio.h>
#include <stdbool.h>
main (void)
{
int i;
i = -2147483648;
i = i - 1;
return 0;
}
该示例具有整数下溢。i的值已经是尽可能低的负值,所以减去1后,i的新值是2147483647。
种属
关系 | 类型 | ID | 名称 |
属于 | 884 | ||
属于 | 998 | ||
属于 | 1137 | SEI CERT Oracle Secure Coding Standard for Java - Guidelines 03. Numeric Types and Operations (NUM) | |
属于 | 1158 |
说明
研究空白
研究中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。