Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Use of Inherently Dangerous Function
This vulnerability occurs when code uses functions that are inherently unsafe and cannot be reliably secured, posing a direct risk to application stability and security.
What is CWE-242?
Real-world CVEs caused by CWE-242
-
FTP client uses inherently insecure gets() function and is setuid root on some systems, allowing buffer overflow
Step-by-step attacker path
- 1
The code below calls gets() to read information into a buffer.
- 2
The gets() function in C is inherently unsafe.
- 3
The code below calls the gets() function to read in data from the command line.
- 4
However, gets() is inherently unsafe, because it copies all input from STDIN to the buffer without checking size. This allows the user to provide a string that is larger than the buffer size, resulting in an overflow condition.
Vulnerable C
The code below calls gets() to read information into a buffer.
char buf[BUFSIZE];
gets(buf); Secure pseudo
// Validate, sanitize, or use a safe API before reaching the sink.
function handleRequest(input) {
const safe = validateAndEscape(input);
return executeWithGuards(safe);
} How to prevent CWE-242
- Implementation / Requirements Ban the use of dangerous functions. Use their safe equivalent.
- Testing Use grep or static analysis tools to spot usage of dangerous functions.
How to detect CWE-242
Plexicus auto-detects CWE-242 and opens a fix PR in under 60 seconds.
Codex Remedium scans every commit, identifies this exact weakness, and ships a reviewer-ready pull request with the patch. No tickets. No hand-offs.
Frequently asked questions
What is CWE-242?
This vulnerability occurs when code uses functions that are inherently unsafe and cannot be reliably secured, posing a direct risk to application stability and security.
How serious is CWE-242?
MITRE rates the likelihood of exploit as High — this weakness is actively exploited in the wild and should be prioritized for remediation.
What languages or platforms are affected by CWE-242?
MITRE lists the following affected platforms: C, C++.
How can I prevent CWE-242?
Ban the use of dangerous functions. Use their safe equivalent. Use grep or static analysis tools to spot usage of dangerous functions.
How does Plexicus detect and fix CWE-242?
Plexicus's SAST engine matches the data-flow signature for CWE-242 on every commit. When a match is found, our Codex Remedium agent opens a fix PR with the corrected code, tests, and a one-line summary for the reviewer.
Where can I learn more about CWE-242?
MITRE publishes the canonical definition at https://cwe.mitre.org/data/definitions/242.html. You can also reference OWASP and NIST documentation for adjacent guidance.
Weaknesses related to CWE-242
Use of Prohibited Code
This vulnerability occurs when software incorporates a function, library, or third-party component that has been explicitly banned by the…
Use of Potentially Dangerous Function
This vulnerability occurs when code calls a function that can be dangerous if misused, but can also be used safely with proper…
Further reading
- MITRE — official CWE-242 https://cwe.mitre.org/data/definitions/242.html
- Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors https://samate.nist.gov/SSATTM_Content/papers/Seven%20Pernicious%20Kingdoms%20-%20Taxonomy%20of%20Sw%20Security%20Errors%20-%20Tsipenyuk%20-%20Chess%20-%20McGraw.pdf
- Writing Secure Code https://www.microsoftpressstore.com/store/writing-secure-code-9780735617223
Don't Let Security
Weigh You Down.
Stop choosing between AI velocity and security debt. Plexicus is the only platform that runs Vibe Coding Security and ASPM in parallel — one workflow, every codebase.