CWE-688: Function Call With Incorrect Variable or Reference as Argument

VariantDraft

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.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple
Vulnerability Mapping
ALLOWED

Applicable To

Languages
CPerl
Platforms

Source-backed guidance

Additional facts reviewed against primary or authoritative security sources.

Verify controls for CWE-688 with SSDF evidence

Use NIST SSDF verification and vulnerability-response practices to detect CWE-688, Function Call With Incorrect Variable or Reference as Argument, throughout the product lifecycle. Derive review questions, static or dynamic checks, and negative tests from the CWE's causal behavior; define the components and lifecycle stages each check covers; and retain findings with enough evidence to distinguish the root cause from symptoms and impacts. Track escapes and false negatives, then improve the verification plan after every confirmed occurrence.

NIST SP 800-218 Secure Software Development FrameworkNational Institute of Standards and Technology

Address Function Call With Incorrect Variable or Reference as Argument during Testing

MITRE associates mitigation with Testing; documented detection approaches include Other; recorded impacts include Quality Degradation. Use these source-defined anchors to turn CWE-688 into implementation, review, and verification checks for the affected component.

CWE-688: Function Call With Incorrect Variable or Reference as ArgumentMITRE CWE

Triage CWE-688 against known exploitation evidence

Use CISA's Known Exploited Vulnerabilities catalog to test whether a vulnerability mapped to CWE-688, Function Call With Incorrect Variable or Reference as Argument, has evidence of exploitation in the wild. Confirm the CVE-to-CWE root-cause mapping independently before attaching the example, then capture the affected product, required action, and remediation deadline. A missing KEV match is not evidence that the weakness is unexploited, and a KEV entry must not be generalized to every occurrence of this CWE.

Known Exploited Vulnerabilities CatalogCybersecurity and Infrastructure Security Agency

Apply precise root-cause mapping to CWE-688

Apply MITRE's full root-cause mapping guidance when using CWE-688, Function Call With Incorrect Variable or Reference as Argument. Separate weakness language from attacker prerequisites and technical impact, check the entry's abstraction and vulnerability-mapping notes, and prefer the most specific Base or Variant supported by the evidence. Record the rejected alternatives and require an independent review before the mapping is used for remediation trends or program metrics.

CVE to CWE Root Cause Mapping GuidanceMITRE CWE

Validate CWE-688 with root-cause mapping checks

Apply MITRE's root-cause mapping quick tips to CWE-688, Function Call With Incorrect Variable or Reference as Argument. Confirm the finding describes the causal weakness rather than an impact or attack pattern, compare the abstraction and mapping notes with plausible alternatives, and have a second reviewer challenge the selection. Preserve the evidence and reasoning so recurring defects can be measured against one consistent identifier.

CVE to CWE Root Cause Mapping Quick TipsMITRE CWE

Frequently Asked Questions

What is CWE-688: Function Call With Incorrect Variable or Reference as Argument?+

CWE-688: Function Call With Incorrect Variable or Reference as Argument is a Common Weakness Enumeration (CWE) entry maintained by MITRE. 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.

What are the security consequences of Function Call With Incorrect Variable or Reference as Argument?+

If exploited, CWE-688 (Function Call With Incorrect Variable or Reference as Argument) it can compromise Other, leading to outcomes such as Quality Degradation.

How do you prevent or mitigate Function Call With Incorrect Variable or Reference as Argument?+

Recommended mitigations for CWE-688 include: 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.

How is Function Call With Incorrect Variable or Reference as Argument detected?+

CWE-688 can be detected using Other. Combining automated tooling with manual review typically yields the best coverage.

Which programming languages are affected by Function Call With Incorrect Variable or Reference as Argument?+

CWE-688 commonly affects C and Perl. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Function Call With Incorrect Variable or Reference as Argument?+

MITRE documents real CVEs mapped to CWE-688, including CVE-2005-2548. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-688 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More

Advertisement