CWE-589: Call to Non-ubiquitous API
The product uses an API function that does not exist on all versions of the target platform. This could cause portability problems or inconsistencies that allow denial of service or other consequences.
View on MITREExtended Description
Some functions that offer security features supported by the OS are not available on all versions of the OS in common use. Likewise, functions are often deprecated or made obsolete for security reasons and should not be used.
Technical Details
- Structure
- Simple
Applicable To
Security Consequences
Scope
Impact
Mitigation Strategies
Phase
Description
Always test your code on any platform on which it is targeted to run on.
Phase
Description
Test your code on the newest and oldest platform on which it is targeted to run on.
Phase
Description
Develop a system to test for API functions that are not portable.
Detection Methods
No detection method information available for this CWE.
Code Examples & CVEs
No examples or observed CVEs available for this CWE.
CWE Relationships
Frequently Asked Questions
What is CWE-589: Call to Non-ubiquitous API?+
CWE-589: Call to Non-ubiquitous API is a Common Weakness Enumeration (CWE) entry maintained by MITRE. The product uses an API function that does not exist on all versions of the target platform. This could cause portability problems or inconsistencies that allow denial of service or other consequences. Some functions that offer security features supported by the OS are not available on all versions of the OS in common use. Likewise, functions are often deprecated or made obsolete for security reasons and should not be used.
What are the security consequences of Call to Non-ubiquitous API?+
If exploited, CWE-589 (Call to Non-ubiquitous API) it can compromise Other, leading to outcomes such as Quality Degradation.
How do you prevent or mitigate Call to Non-ubiquitous API?+
Recommended mitigations for CWE-589 include: Always test your code on any platform on which it is targeted to run on. Test your code on the newest and oldest platform on which it is targeted to run on. Develop a system to test for API functions that are not portable.
What is the difference between a CWE and a CVE?+
A CWE (Common Weakness Enumeration) like CWE-589 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.