CWE-688 Detail

CWE-688

Function Call With Incorrect Variable or Reference as Argument
Draft
2008-04-11
00h00 +00:00
2023-06-29
00h00 +00:00
Notifications for a CWE
Stay informed of any changes for a specific CWE.
Notifications manage

Name: Function Call With Incorrect Variable or Reference as Argument

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.

General Informations

Modes Of Introduction

Implementation : This problem typically occurs when the programmer makes a typo, or copy and paste errors.

Applicable Platforms

Language

Name: C (Undetermined)
Name: Perl (Undetermined)

Common Consequences

Scope Impact Likelihood
OtherQuality Degradation

Observed Examples

References Description

CVE-2005-2548

Kernel code specifies the wrong variable in first argument, leading to resultant NULL pointer dereference.

Potential Mitigations

Phases : 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.

Detection Methods

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.

Vulnerability Mapping Notes

Justification : This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Comment : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.

Submission

Name Organization Date Date release Version
CWE Content Team MITRE 2008-04-11 +00:00 2008-04-11 +00:00 Draft 9

Modifications

Name Organization Date Comment
Sean Eidemiller Cigital 2008-07-01 +00:00 added/updated demonstrative examples
Eric Dalci Cigital 2008-07-01 +00:00 updated Potential_Mitigations
CWE Content Team MITRE 2008-09-08 +00:00 updated Applicable_Platforms, Detection_Factors, Relationships, Other_Notes, Weakness_Ordinalities
CWE Content Team MITRE 2009-05-27 +00:00 updated Description
CWE Content Team MITRE 2009-10-29 +00:00 updated Modes_of_Introduction, Other_Notes, Potential_Mitigations
CWE Content Team MITRE 2010-02-16 +00:00 updated Detection_Factors
CWE Content Team MITRE 2011-06-01 +00:00 updated Common_Consequences
CWE Content Team MITRE 2011-06-27 +00:00 updated Common_Consequences
CWE Content Team MITRE 2012-05-11 +00:00 updated Demonstrative_Examples, Relationships
CWE Content Team MITRE 2012-10-30 +00:00 updated Potential_Mitigations
CWE Content Team MITRE 2014-07-30 +00:00 updated Relationships
CWE Content Team MITRE 2020-02-24 +00:00 updated Relationships
CWE Content Team MITRE 2023-01-31 +00:00 updated Description, Potential_Mitigations
CWE Content Team MITRE 2023-04-27 +00:00 updated Relationships
CWE Content Team MITRE 2023-06-29 +00:00 updated Mapping_Notes