CWE-688: Function Call With Incorrect Variable or Reference as Argument
CWE版本: 4.18
更新日期: 2025-09-09
弱点描述
The product calls a function, procedure, or routine, but the caller specifies the wrong variable or reference as one of the arguments, which may lead to undefined behavior and resultant weaknesses.
常见后果
影响范围: Other
技术影响: Quality Degradation
潜在缓解措施
阶段: Testing
描述: Because this function call often produces incorrect behavior it will usually be detected during testing or normal operation of the product. During testing exercise all possible control paths will typically expose this weakness except in rare cases when the incorrect function call accidentally produces the correct results or if the provided argument type is very similar to the expected argument type.
检测方法
方法: Other
While this weakness might be caught by the compiler in some languages, it can occur more frequently in cases in which the called function accepts variable numbers of arguments, such as format strings in C. It also can occur in loosely typed languages or environments. This might require an understanding of intended program behavior or design to determine whether the value is incorrect.
观察示例
参考: CVE-2005-2548
Kernel code specifies the wrong variable in first argument, leading to resultant NULL pointer dereference.
引入模式
| 阶段 | 说明 |
|---|---|
| Implementation | This problem typically occurs when the programmer makes a typo, or copy and paste errors. |