CWE-234: Failure to Handle Missing Parameter
If too few arguments are sent to a function, the function will still pop the expected number of arguments from the stack. Potentially, a variable number of arguments could be exhausted in a function as well.
How it's found
Failure to Handle Missing Parameter is a specific, narrowly defined instance of a broader pattern. Testers confirm it with targeted code review and a proof-of-concept input that exercises the exact code path this weakness describes.
Consequences
- Execute Unauthorized Code or Commands, Gain Privileges or Assume Identity: There is the potential for arbitrary code execution with privileges of the vulnerable program if function parameter list is exhausted.
- DoS: Crash, Exit, or Restart: Potentially a program could fail if it needs more arguments then are available.
Mitigations
- Build and Compilation: This issue can be simply combated with the use of proper build process.
- Implementation: Forward declare all functions. This is the recommended solution. Properly forward declaration of all used functions will result in a compiler error if too few arguments are sent to a function.
Where this fits in a TurboPentest engagement
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
Frequently asked questions
What is CWE-234?
If too few arguments are sent to a function, the function will still pop the expected number of arguments from the stack. Potentially, a variable number of arguments could be exhausted in a function as well.
How do you find Failure to Handle Missing Parameter?
Failure to Handle Missing Parameter is a specific, narrowly defined instance of a broader pattern. Testers confirm it with targeted code review and a proof-of-concept input that exercises the exact code path this weakness describes.
What is the impact of CWE-234?
Execute Unauthorized Code or Commands, Gain Privileges or Assume Identity: There is the potential for arbitrary code execution with privileges of the vulnerable program if function parameter list is exhausted. DoS: Crash, Exit, or Restart: Potentially a program could fail if it needs more arguments then are available.
Does TurboPentest test for Failure to Handle Missing Parameter?
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
Related CWEs
Written and reviewed by
Michel Chamberland - Founder & CEO, IntegSec
CISSP, OSCP, OSCE, CEH, GIAC, CCSK · 20+ years in offensive security
Michel has spent 20+ years on offensive security teams including IBM X-Force Red and Trustwave SpiderLabs, leading penetration tests, red team engagements, and breach response for Fortune 500 customers. He is the founder of IntegSec and the architect of TurboPentest.
Find these issues before an attacker does
TurboPentest runs an agentic AI pentest against your target and reports findings with proof, from $99 per target.
Start a pentest