Description
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.
Modes of Introduction:
– Architecture and Design
Likelihood of Exploit: High
Related Weaknesses
Consequences
Integrity, Confidentiality, Availability, Access Control: 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.
Availability: DoS: Crash, Exit, or Restart
Potentially a program could fail if it needs more arguments then are available.
Potential Mitigations
Phase: Build and Compilation
Description:
This issue can be simply combated with the use of proper build process.
Phase: Implementation
Description:
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.
CVE References
- CVE-2004-0276
- Server earlier allows remote attackers to cause a denial of service (crash) via an HTTP request with a sequence of “%” characters and a missing Host field.
- CVE-2002-1488
- Chat client allows remote malicious IRC servers to cause a denial of service (crash) via a PART message with (1) a missing channel or (2) a channel that the user is not in.
- CVE-2002-1169
- Proxy allows remote attackers to cause a denial of service (crash) via an HTTP request to helpout.exe with a missing HTTP version numbers.
- CVE-2000-0521
- Web server allows disclosure of CGI source code via an HTTP request without the version number.
- CVE-2001-0590
- Application server allows a remote attacker to read the source code to arbitrary ‘jsp’ files via a malformed URL request which does not end with an HTTP protocol specification.
- CVE-2003-0239
- Chat software allows remote attackers to cause a denial of service via malformed GIF89a headers that do not contain a GCT (Global Color Table) or an LCT (Local Color Table) after an Image Descriptor.
- CVE-2002-1023
- Server allows remote attackers to cause a denial of service (crash) via an HTTP GET request without a URI.
- CVE-2002-1236
- CGI crashes when called without any arguments.
- CVE-2003-0422
- CGI crashes when called without any arguments.
- CVE-2002-1531
- Crash in HTTP request without a Content-Length field.
- CVE-2002-1077
- Crash in HTTP request without a Content-Length field.
- CVE-2002-1358
- Empty elements/strings in protocol test suite affect many SSH2 servers/clients.
- CVE-2003-0477
- FTP server crashes in PORT command without an argument.
- CVE-2002-0107
- Resultant infoleak in web server via GET requests without HTTP/1.0 version string.
- CVE-2002-0596
- GET request with empty parameter leads to error message infoleak (path disclosure).
More Stories
The Most Dangerous Vulnerabilities in Apache Tomcat and How to Protect Against Them
Apache Tomcat is an open-source web server and servlet container that is widely used in enterprise environments to run Java...
ZDI-CAN-18333: A Critical Zero-Day Vulnerability in Microsoft Windows
Zero-day vulnerabilities are a serious threat to cybersecurity, as they can be exploited by malicious actors to gain unauthorized access...
CWE-669 – Incorrect Resource Transfer Between Spheres
Description The product does not properly transfer a resource/behavior to another sphere, or improperly imports a resource/behavior from another sphere,...
CWE-67 – Improper Handling of Windows Device Names
Description The software constructs pathnames from user input, but it does not handle or incorrectly handles a pathname containing a...
CWE-670 – Always-Incorrect Control Flow Implementation
Description The code contains a control flow path that does not reflect the algorithm that the path is intended to...
CWE-671 – Lack of Administrator Control over Security
Description The product uses security features in a way that prevents the product's administrator from tailoring security settings to reflect...