CWE-688: Function Call With Incorrect Variable or Reference as Argument(以不正确的变量或引用作为参数的函数调用)

博客介绍了软件调用函数时,因调用方指定错误变量或引用作为参数,可能导致未定义行为和结果的弱点。涉及C、Perl等语言,还给出Java代码示例,并提及与研究、开发层面视图相关,最后提到应对措施等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ID: 688

类型:变量
结构:简单

状态:草稿

描述

软件调用函数、过程或例程,但调用方指定错误的变量或引用作为参数之一,这可能导致未定义的行为和结果弱点。

相关视图

与“研究层面”视图(CWE-1000)相关

与“开发层面”视图(CWE-699)相关

引入模式

阶段

说明

实现

此问题通常在打字错误或是拷贝粘贴错误时发生。

应用平台

语言

C (出现的可能性不确定)

Perl (出现的可能性不确定)

后果

范围

冲击

可能性

其它

技术冲击: 质量下降

 

示例

例1

在下面的java代码段中,accessGranted()方法调用时候不小心以静态ADMIN_ROLES数组作为参数而没有使用user roles作为参数。

(问题代码)

Example Language: Java 

private static final String[] ADMIN_ROLES = ...;
public boolean void accessGranted(String resource, String user) {

String[] userRoles = getUserRoles(user);
return accessGranted(resource, ADMIN_ROLES);

}

private boolean void accessGranted(String resource, String[] userRoles) {


// grant or deny access based on user roles
...

}

应对措施

阶段: 测试

由于此函数调用通常会产生不正确的行为,因此通常会在测试或软件正常运行期间检测到它。在测试过程中,所有可能的控制路径通常都会暴露出这个弱点,除非在极少数情况下,不正确的函数调用意外地产生正确的结果,或者如果提供的参数类型与预期的参数类型非常相似。

种属

关系

类型

ID

名称

属于

998

SFP Secondary Cluster: Glitch in Computation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值