Skip to main content

CWE-589: Call to Non-ubiquitous API

VariantIncomplete

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 MITRE
Back to CWE Lookup

Extended 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

Languages
Platforms

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.

Learn More