CWE-477:使用过时功能
查看自定义信息:
随着编程语言的发展,由于:
删除的功能通常被较新的对应人员所取代,这些功能以某种不同且希望改进的方式执行相同的任务。
该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
与观点“研究概念”相关(CWE-1000)
与“软件开发”视图相关(CWE-699)
该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。
语言 班级:不是特定语言的(不确定的患病率)
该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
示例1 以下代码使用弃用的函数getPW()来验证明文密码是否与用户的加密密码匹配。如果密码有效,则功能集结果为1;否则将其设置为0。
(不良代码)
示例语言:C
...
getPW(uid,pwdline); for(i = 0; i <3; i ++){
cryptpw = strtok(pwdline,“:”); }pwdline = 0; 结果= strcmp(crypt(plainpw,cryptpw),cryptpw)== 0; ... 尽管代码通常行为正确,但使用GETPW()函数从安全角度来看可能是有问题的,因为它可以溢出缓冲区传递到其第二个参数。由于这个漏洞,GetPw()已被GetPwuid()取代,该漏洞的查找与getPw()相同,但返回指向静态分配的结构以减轻风险。并非所有功能都被弃用或替换,因为它们构成了安全风险。但是,过时函数的存在通常表明周围的代码已被忽略,并且可能处于失修状态。长期以来,软件安全不是优先考虑,甚至不是考虑因素。如果该程序使用弃用或过时的功能,则提高了潜伏在附近存在安全问题的可能性。 示例2 在以下代码中,程序员假设系统始终具有名为“ CMD”定义的属性。如果攻击者可以控制程序的环境,以便未定义“ CMD”,则该程序在尝试调用“ Trim()”方法时会引发无效的指针异常。
(不良代码)
示例语言:爪哇
字符串cmd = null;
... cmd = emoverunt.getEnvironmentVariable(“ cmd”); cmd = cmd.trim(); 示例3 以下代码从字节数组中构造一个字符串对象,并指定每个16位Unicode字符的前8位。
(不良代码)
示例语言:爪哇
...
字符串名称= new String(nameBytes,Highbyte); ... 在此示例中,构造函数可能无法正确地将字节转换为字符,具体取决于使用哪个Charset编码名称Bybytes表示的字符串。由于用于编码字符串的炭的演变,该构造函数被弃用并由构造函数替换为构造函数,该构造器接受为其参数之一,用于编码用于转换字节的字节的charset名称。
此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |