CWE观点:解决的弱点SEI CERT c++编码标准(2016年版)
下面的图显示了树状之间的关系在不同级别的抽象上存在的弱点。在最高的层次上,类别和支柱存在弱点。类别(不是技术上的缺点)是特殊CWE条目用于集团弱点,共享一个共同的特点。柱子是描述的弱点在最抽象的时尚。下面这些顶级条目的弱点是不同程度的抽象。类仍然非常抽象,通常独立于任何特定的语言或技术。基础水平的弱点是用来提供一个更具体的类型的弱点。变量是一个弱点,在很低的水平的细节,描述通常局限于一个特定的语言或技术。链是一系列的缺点,必须可以连续产生可利用的漏洞。而复合的缺点是一组必须同时在场,以产生一个可利用的漏洞。
显示详细信息:
868 -解决的弱点SEI CERT c++编码标准(2016年版)
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>869年
(CERT c++安全编码部分01 -预处理(预))
这一类的弱点有关规则的预处理(预)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>870年
(CERT c++安全编码部分02 -声明和初始化(DCL))
这一类的弱点有关规则的声明和初始化(DCL)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>871年
(CERT c++安全编码部分03 -表达式(EXP))
的弱点这一类相关规则的表达式(EXP)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>871年
(CERT c++安全编码部分03 -表达式(EXP))>476年
(空指针)
应用程序时出现空指针废弃取消引用指针,它预计将是有效的,但是是空的,通常导致崩溃或退出。NPD零deref空指针
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>871年
(CERT c++安全编码部分03 -表达式(EXP))>480年
(使用不正确的操作符)
产品不小心使用了错误的操作符,它改变了逻辑在安全相关的方面。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>871年
(CERT c++安全编码部分03 -表达式(EXP))>768年
(不正确的短路评价)
产品与多个逻辑表达式中包含一个条件语句的一个非起始表达式可能会产生副作用。这可能会导致一个意想不到的状态后的程序的执行条件,因为短路逻辑可能避免副作用的发生。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))
这一类的弱点有关规则的整数(INT)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>129年
(不正确验证数组索引)
产品使用不受信任的输入在计算或使用数组索引,但是产品不验证或不正确验证索引,确保索引引用数组中的一个有效位置。禁止入内的数组索引index-out-of-range数组索引下溢
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>190年
(整数溢出或概括)
产品执行的计算可以产生一个整数溢出或概括,当逻辑假设得到的值总是大于原始值。这可以介绍其他弱点当计算用于资源管理或执行控制。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>192年
(整数强制错误)
整数强制是指一组相关的缺陷类型铸造、原始数据类型的扩展,或截断。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>197年
(数字截断误差)
截断误差发生当一个原始的小一号的原始和转换数据丢失。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>20.
(不正确的输入验证)
产品接收输入或数据,但它不验证或不正确验证输入所需的属性的过程安全、正确的数据。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>369年
(除以零)
这个产品值除以零。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>466年
(返回的指针值预期范围以外的)
函数可以返回一个指针指向的内存之外的缓冲区的指针将参考。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>587年
(一个固定地址分配给一个指针)
产品设置一个指针指向一个特定的地址而不是NULL或0。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>606年
(不输入循环条件)
产品不正确检查输入用于循环条件,可能导致拒绝服务或其他后果,因为过度的循环。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>676年
(使用有潜在危险的函数)
产品调用一个有潜在危险的函数,可以引入一个漏洞,如果使用不正确,但是函数也可以安全使用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>681年
(不正确的数值类型之间的转换)
当从一个数据类型转换到另一个,比如长整数,数据可以省略或翻译的方式产生意想不到的价值。如果使用生成的值在一个敏感的情况下,就可能发生危险的行为。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>872年
(CERT c++安全编码部分04 -整数(INT))>682年
(不正确的计算)
产品执行计算,生成错误或意想不到的结果,后来用于强调安全的决策或资源管理。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>873年
(CERT c++安全编码部分05 -浮点运算(FLP))
这一类的弱点有关规则的浮点运算(FLP)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>873年
(CERT c++安全编码部分05 -浮点运算(FLP))>369年
(除以零)
这个产品值除以零。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>873年
(CERT c++安全编码部分05 -浮点运算(FLP))>681年
(不正确的数值类型之间的转换)
当从一个数据类型转换到另一个,比如长整数,数据可以省略或翻译的方式产生意想不到的价值。如果使用生成的值在一个敏感的情况下,就可能发生危险的行为。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>873年
(CERT c++安全编码部分05 -浮点运算(FLP))>682年
(不正确的计算)
产品执行计算,生成错误或意想不到的结果,后来用于强调安全的决策或资源管理。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>873年
(CERT c++安全编码部分05 -浮点运算(FLP))>686年
(函数调用与不正确的参数类型)
产品调用一个函数、过程或程序,但调用者指定一个论点是错误的数据类型,这可能会导致合成的弱点。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))
的弱点这一类相关规则的数组和STL (ARR)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>119年
(限制不当操作内存缓冲区的边界内)
产品执行操作内存缓冲区,但它可以从磁盘读取或写入的内存位置之外的目标缓冲区的边界。缓冲区溢出缓冲区溢出内存安全
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>129年
(不正确验证数组索引)
产品使用不受信任的输入在计算或使用数组索引,但是产品不验证或不正确验证索引,确保索引引用数组中的一个有效位置。禁止入内的数组索引index-out-of-range数组索引下溢
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>467年
(使用sizeof()在一个指针类型)
代码调用sizeof()在malloc指针类型,它总是返回wordsize / 8。这可以产生意想不到的结果,如果程序员为了确定被分配多少内存。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>469年
(使用指针减法来确定大小)
产品减去一个指针从另一个为了确定大小,但是这个计算可以是不正确的,如果不存在于相同的内存块的指针。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>665年
(不适当的初始化)
产品不初始化或不正确地初始化一个资源,这可能会让资源在一个意想不到的状态时访问或使用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>874年
(CERT c++安全编码部分06 -数组和STL (ARR))>805年
(缓冲区访问与不正确的长度值)
产品使用顺序操作读或写一个缓冲,但它使用一个不正确的长度值,使访问内存缓冲区的边界之外。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))
这一类的弱点有关规则的字符和字符串(STR)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>119年
(限制不当操作内存缓冲区的边界内)
产品执行操作内存缓冲区,但它可以从磁盘读取或写入的内存位置之外的目标缓冲区的边界。缓冲区溢出缓冲区溢出内存安全
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>120年
(缓冲区复制没有检查输入的大小(“经典缓冲区溢出”))
产品输入缓冲区复制到输出缓冲区没有验证输入缓冲区的大小小于输出缓冲区的大小,导致缓冲区溢出。经典的缓冲区溢出无限的转移
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>170年
(不当空终止)
产品不终止或不正确地终止字符串或数组null字符或等价的终结者。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>193年
(错误)
计算产品或使用错误的最大或最小值1,或小1,比正确的值。off-by-five
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>464年
(增加数据结构前哨)
意外的数据结构哨兵可以导致严重的编程逻辑问题。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>686年
(函数调用与不正确的参数类型)
产品调用一个函数、过程或程序,但调用者指定一个论点是错误的数据类型,这可能会导致合成的弱点。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>704年
(错误类型转换或铸)
产品不正确地转换为一个对象,资源,或结构从一个类型到另一个类型。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>78年
(中和不当使用特殊的元素在一个操作系统命令(OS命令注入))
产品结构的全部或部分操作系统命令使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改OS命令发送到下游组件。壳注射Shell元字符
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>875年
(CERT c++安全编码部分07 -字符和字符串(STR))>88年
(不当中和一个命令的参数分隔符(“参数注入”))
产品构造一个字符串的命令来执行一个单独的组件在另一个控制范围,但这并不正确划定目标参数,选项,或者开关命令字符串中。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))
弱点这类规则相关的内存管理(MEM)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>119年
(限制不当操作内存缓冲区的边界内)
产品执行操作内存缓冲区,但它可以从磁盘读取或写入的内存位置之外的目标缓冲区的边界。缓冲区溢出缓冲区溢出内存安全
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>128年
(环绕式处理错误)
绕过去时发生错误值递增最大值的类型,因此“围绕”很小,消极,或未定义的值。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>131年
(不正确的计算缓冲区大小)
产品不正确计算时使用的大小分配一个缓冲区,这可能会导致缓冲区溢出。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>190年
(整数溢出或概括)
产品执行的计算可以产生一个整数溢出或概括,当逻辑假设得到的值总是大于原始值。这可以介绍其他弱点当计算用于资源管理或执行控制。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>20.
(不正确的输入验证)
产品接收输入或数据,但它不验证或不正确验证输入所需的属性的过程安全、正确的数据。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>226年
(敏感信息在资源不被重用之前)
产品发布资源如内存或文件,以便它可以重用,但它不清楚或“填零”中包含的信息资源在产品执行临界状态转换或使其他实体的资源可供重用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>244年
(清理不当堆内存释放之前(“堆检验”))
使用realloc()调整缓冲区存储敏感信息可以把敏感信息暴露于攻击,因为它不是从内存中删除。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>252年
(不返回值)
产品不会检查方法或函数返回值,可以防止检测意想不到的状态和条件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>391年
(未检测错误条件)
(计划在弃用。看到维修笔记和考虑cwe - 252, cwe - 248,或cwe - 1069。)忽略异常和其他错误条件可能允许攻击者产生异常行为引起注意。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>404年
(不当资源关闭或释放)
产品不释放或错误发布资源前可以重用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>415年
(双免费)
产品电话免费()两次在同一个内存地址,可能导致修改意想不到的内存位置。双重释放
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>416年
(使用后免费)
引用的内存被释放后可以导致程序崩溃,使用意想不到的价值,或执行代码。悬空指针Use-After-Free
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>476年
(空指针)
应用程序时出现空指针废弃取消引用指针,它预计将是有效的,但是是空的,通常导致崩溃或退出。NPD零deref空指针
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>528年
(接触核心转储文件到一个未经授权的控制范围)
产品目录中生成一个核心转储文件,归档,或其他资源存储、转移,或者访问未经授权的演员。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>590年
(免费的内存不是在堆上)
产品电话免费()在一个指针指向内存堆分配不分配使用相关功能,如malloc (), calloc(),或realloc ()。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>591年
(敏感数据存储不当锁定内存)
产品将敏感数据存储在内存中,没有锁,或被错误地锁,这可能会导致内存写入交换文件在磁盘上的虚拟内存管理器。这可以使数据更容易获得外部演员。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>665年
(不适当的初始化)
产品不初始化或不正确地初始化一个资源,这可能会让资源在一个意想不到的状态时访问或使用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>687年
(函数调用指定参数值不正确)
产品调用一个函数、过程或程序,但调用者指定一个参数,其中包含错误的价值,这可能会导致合成的弱点。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>690年
(不返回值为NULL指针)
产品后不检查错误调用函数可以返回一个空指针如果函数失败,导致合成NULL指针。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>703年
(支票或不当处理异常情况)
产品不正确地预见和处理异常情况很少发生在产品的正常运行。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>754年
(不正确检查异常或异常情况)
产品不检查或不正确检查异常或异常情况不会经常发生在日常操作的产品。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>762年
(不匹配的内存管理例程)
产品试图返回系统内存资源,但它所谓的释放函数不是兼容的功能最初是用来分配资源。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>770年
(资源配置没有限制或节流)
产品分配一个可重用的资源或一组资源代表一个演员不强加任何限制的大小或数量的可分配的资源,违反安全策略的演员。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>876年
(CERT c++安全编码部分08 -内存管理(MEM))>822年
(不可信的指针)
产品来自不受信任来源的获取一个值,将该值转换为一个指针,取消引用指针。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))
这一类的弱点有关规则的输入输出(FIO)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>119年
(限制不当操作内存缓冲区的边界内)
产品执行操作内存缓冲区,但它可以从磁盘读取或写入的内存位置之外的目标缓冲区的边界。缓冲区溢出缓冲区溢出内存安全
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>134年
(使用外部控制的格式字符串)
产品使用一个函数,它接受一个格式字符串作为参数,但格式字符串来自外部源。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>22
(不当限制限制目录的路径名(路径遍历))
产品使用外部输入来构造一个路径名,目的是为了辨别一个文件或目录,坐落在父目录的限制,但是产品不正确路径名中的中和特殊元素可以导致路径名来解决限制目录以外的位置。目录遍历路径遍历
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>241年
(意想不到的数据类型的处理不当)
产品不能处理或不正确处理特定元素时不预期的类型,例如,预计一个数字(0 - 9),但提供一个字母(a - z)。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>276年
(不正确的默认权限)
在安装过程中,安装文件权限设置为允许任何人修改这些文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>279年
(错误Execution-Assigned权限)
虽然执行,产品集的权限对象的目的在某种程度上违反了权限已经由用户指定。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>362年
(并发执行使用共享资源与不当同步(“竞争条件”))
产品包含一个代码序列,可以同时运行其他代码,和代码序列需要临时,独家访问共享资源,但存在一个时间窗口的共享资源可以被另一个代码序列是修改并发操作。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>367年
(Time-of-check时段(TOCTOU)竞争条件)
产品检查资源的状态在使用资源之前,但资源的状态可以改变之间的检查和使用的方式无效的结果检查。这可能会导致产品资源时执行无效的操作在一个意想不到的状态。TOCTTOUTOCCTOU
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>37
(路径遍历:绝对路径名/ /这里)
产品接受输入的形式削减绝对路径(/绝对路径名/)没有适当的验证,使攻击者可以遍历文件系统,以意想不到的地方或访问任意文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>379年
(创建临时文件目录的权限)
产品创建一个临时文件目录的权限允许意想不到的演员来确定文件的存在或访问该文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>38
(路径遍历:“这里\ \绝对路径名\”)
产品接受输入的形式一个反斜杠绝对路径(“\ \绝对路径名\这里”)不适当的验证,使攻击者可以遍历文件系统,以意想不到的地方或访问任意文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>39
(路径遍历:C:目录名)
产品接受输入包含一个驱动器或Windows卷信(C:目录名),可能将访问重定向到一个意想不到的位置或任意文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>391年
(未检测错误条件)
(计划在弃用。看到维修笔记和考虑cwe - 252, cwe - 248,或cwe - 1069。)忽略异常和其他错误条件可能允许攻击者产生异常行为引起注意。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>403年
文件描述符(接触意想不到的控制范围(文件描述符泄漏))
过程不敏感的文件描述符调用子进程之前,允许孩子使用这些描述符执行未经授权的I / O操作。文件描述符泄漏
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>404年
(不当资源关闭或释放)
产品不释放或错误发布资源前可以重用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>41
(不正确的路径等效)决议
该产品是容易通过路径等效文件系统内容披露。路径等效包括使用特殊字符的文件和目录的名称。相关操作的目的是生成多个名称相同的对象。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>552年
(文件或目录访问外部方)
产品使文件或目录访问未经授权的演员,虽然他们不应该。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>59
(不正确的链接之前决议文件访问(“链接后”))
产品基于文件名试图访问一个文件,但它不适当阻止,文件名标识一个链接或快捷方式,解决了一个意想不到的资源。不安全的临时文件拉链滑
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>62年
(UNIX硬链接)
产品打开一个文件或目录时,没有充分考虑时的名字是关联到一个硬链接的目标以外的控制范围。这可能允许攻击者造成产品使用未经授权的文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>64年
(Windows快捷方式后(.LNK))
产品,当打开一个文件或目录,文件时不足够处理Windows快捷方式(.LNK)的目标是为了控制范围之外的。这可能允许攻击者造成产品使用未经授权的文件。Windows符号链接后符号链接
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>65年
(Windows硬链接)
产品,当打开一个文件或目录,不足够处理时的名字是关联到一个硬链接的目标以外的控制范围。这可能允许攻击者造成产品使用未经授权的文件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>67年
(处理不当的Windows设备名称)
产品结构从用户输入路径名,但它不能处理或不正确地处理包含Windows设备名称,如辅助路径名或场骗局通常会导致拒绝服务或信息暴露当应用程序试图处理作为一个常规文件路径名。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>675年
(多个操作资源单操作上下文)
产品资源上执行相同的操作两个或两个以上的时候,当操作只能申请一次。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>676年
(使用有潜在危险的函数)
产品调用一个有潜在危险的函数,可以引入一个漏洞,如果使用不正确,但是函数也可以安全使用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>73年
(外部控制文件名或路径)
产品允许用户输入控制或影响路径或文件名中使用文件系统操作。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>732年
(不正确的权限分配关键资源)
重要的产品指定权限安全资源的方式允许读取或修改资源意想不到的演员。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>877年
(CERT c++安全编码部分09 -输入输出(FIO))>770年
(资源配置没有限制或节流)
产品分配一个可重用的资源或一组资源代表一个演员不强加任何限制的大小或数量的可分配的资源,违反安全策略的演员。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))
这一类的弱点有关规则的环境(ENV)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>119年
(限制不当操作内存缓冲区的边界内)
产品执行操作内存缓冲区,但它可以从磁盘读取或写入的内存位置之外的目标缓冲区的边界。缓冲区溢出缓冲区溢出内存安全
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>426年
(不受信任的搜索路径)
产品搜索关键资源使用外来的搜索路径,可以指向资源不受产品的直接控制。不可信的路径
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>462年
(重复键关联列表(倾斜的))
重复键关联列表可以导致非唯一键被误认为是一个错误。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>705年
(不正确的控制流范围)
产品不正常控制流返回到正确的位置后,完成了一个任务或发现一个不寻常的条件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>78年
(中和不当使用特殊的元素在一个操作系统命令(OS命令注入))
产品结构的全部或部分操作系统命令使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改OS命令发送到下游组件。壳注射Shell元字符
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>807年
(安全决策依赖不可信的输入)
产品使用一个保护机制,依赖于存在或输入的值,但一个不可信的输入可以修改演员的方式绕过了保护机制。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>878年
(CERT c++安全编码部分10 -环境(ENV))>88年
(不当中和一个命令的参数分隔符(“参数注入”))
产品构造一个字符串的命令来执行一个单独的组件在另一个控制范围,但这并不正确划定目标参数,选项,或者开关命令字符串中。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>879年
(CERT c++安全编码部分11 -信号(SIG))
弱点这类规则相关的信号(SIG)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>879年
(CERT c++安全编码部分11 -信号(SIG))>479年
(信号处理器使用不可重入函数)
产品定义了一个信号处理程序,调用一个不可重入函数。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>879年
(CERT c++安全编码部分11 -信号(SIG))>662年
(不同步)
该产品利用多个线程或进程允许临时访问共享资源,只能独享一个过程,但这并不正确同步这些动作,这可能导致由多个线程同时访问这个资源或流程。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))
弱点这类规则相关的异常和错误处理(ERR)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>209年
(包含敏感信息的错误消息的一代)
产品生成一个错误消息,包括环境的敏感信息,用户,或相关的数据。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>390年
(检测错误条件没有行动)
产品检测到一个特定的错误,但没有行动来处理错误。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>391年
(未检测错误条件)
(计划在弃用。看到维修笔记和考虑cwe - 252, cwe - 248,或cwe - 1069。)忽略异常和其他错误条件可能允许攻击者产生异常行为引起注意。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>460年
(清理不当抛出例外)
产品不清理它的状态或不正确清理其状态时将抛出一个异常,导致意想不到的状态或控制流。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>497年
(暴露敏感系统信息未经授权的控制范围)
产品不妥善防止敏感系统级信息不被未经授权的访问演员没有相同级别的访问底层系统的产品。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>544年
(缺少标准化的错误处理机制)
产品不使用一个标准化的方法处理错误的代码,这可能介绍不一致的错误处理和合成的弱点。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>703年
(支票或不当处理异常情况)
产品不正确地预见和处理异常情况很少发生在产品的正常运行。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>705年
(不正确的控制流范围)
产品不正常控制流返回到正确的位置后,完成了一个任务或发现一个不寻常的条件。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>754年
(不正确检查异常或异常情况)
产品不检查或不正确检查异常或异常情况不会经常发生在日常操作的产品。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>880年
(CERT c++安全编码部分12 -异常和错误处理(ERR))>755年
(异常情况处理不当)
产品不能处理或不正确处理异常情况。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>881年
(CERT c++安全编码部分13 -面向对象编程(OOP))
这一类的弱点有关规则的面向对象编程(OOP)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))
的弱点这一类相关规则的并发性(CON)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))>362年
(并发执行使用共享资源与不当同步(“竞争条件”))
产品包含一个代码序列,可以同时运行其他代码,和代码序列需要临时,独家访问共享资源,但存在一个时间窗口的共享资源可以被另一个代码序列是修改并发操作。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))>366年
(竞争条件在一个线程)
如果两个线程同时执行的使用资源,存在资源可以使用而无效的可能性,进而使执行未定义的状态。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))>404年
(不当资源关闭或释放)
产品不释放或错误发布资源前可以重用。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))>488年
数据元素(接触错误的会话)
产品之间没有充分执行边界各州不同的会话,导致数据提供,或使用错误的会话。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>882年
(CERT c++安全编码部分14 -并发(CON))>772年
(失踪后释放资源有效的一生)
产品不其有效寿命结束后释放资源,即。后,资源不再需要。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))
这一类的弱点有关规则的杂项(MSC)部分CERT c++安全的编码标准。因为并不是所有的规则映射到特定的弱点,这一类可能是不完整的。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>116年
(不正确的编码或转义输出)
产品准备一个结构化的信息沟通与另一个组件,但编码或逃避的数据丢失或错误地完成。因此,是不会保留消息的预期结构。输出卫生处理输出验证输出编码
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>14
(编译器删除代码清除缓冲区)
敏感的记忆清除根据源代码,但编译器优化离开内存没有不会再读,又名“死存储删除。”
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>176年
(Unicode编码的处理不当)
产品不妥善处理当输入包含Unicode编码。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>20.
(不正确的输入验证)
产品接收输入或数据,但它不验证或不正确验证输入所需的属性的过程安全、正确的数据。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>327年
(使用损坏或危险的密码算法)
产品使用损坏或危险的密码算法或协议。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>330年
(使用随机值不足)
产品使用随机数或不足值的安全上下文依赖于不可预测的数字。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>480年
(使用不正确的操作符)
产品不小心使用了错误的操作符,它改变了逻辑在安全相关的方面。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>482年
(比较而不是分配)
用于比较的代码使用一个运算符时,目的是执行一个任务。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>561年
(死代码)
产品包含死代码,无法执行。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>563年
(任务变量没有使用)
变量的值被分配,但不会使用,使它一个死去的商店。未使用的变量
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>570年
(表达式总是错误)
产品包含一个表达式,总是计算为false。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>571年
(表达式总是正确的)
产品包含一个表达式,总是评估为true。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>697年
(不正确的比较)
产品比较两个实体的安全相关的上下文,但比较是错误的,这可能会导致合成的弱点。
![]() ![]()
868年
(由SEI CERT弱点解决c++编码标准(2016年版))>883年
(CERT c++安全编码部分49 -杂项(MSC))>704年
(错误类型转换或铸)
产品不正确地转换为一个对象,资源,或结构从一个类型到另一个类型。
更多的信息是可用的,请选择一个不同的过滤器。
|
使用常见的弱点枚举(CWE)和相关的引用从这个网站的使用条款。CWE赞助的美国国土安全部(DHS)网络和基础设施安全机构(CISA)和管理的国土安全系统工程和发展研究所这是由(HSSEDI)manbetx客户端首页(斜方)。版权©2006 - 2023,斜方公司。manbetx客户端首页CWE、水煤浆、CWRAF, CWE标志是斜方公司的商标。manbetx客户端首页 |