CWEweakness
CWE-573 Improper Following of Specification by Caller
- Abstraction
- Class
- Structure
- Simple
- Status
- Draft
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product does not follow or incorrectly follows the specifications as required by the implementation language, environment, framework, protocol, or platform.
Common consequences
• Other: Quality Degradation, Varies by Context — Unintended behaviors may result, possibly leaving the system vulnerable to any number of exploits.
Potential mitigations
• [Implementation] When leveraging external functionality, such as an API, it is important that the caller does so in accordance with the requirements of the external functionality.
Detection methods
• Automated Static Analysis: 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.)
Observed examples
• CVE-2006-7140: Crypto implementation removes padding when it shouldn't, allowing forged signatures
• CVE-2006-4339: Crypto implementation removes padding when it shouldn't, allowing forged signatures
Related
Observed example · CVE (2)
- CVE-2006-7140 The libike library, as used by in.iked, elfsign, and kcfd in Sun Solaris 9 and 10, when using an RSA key with exponent 3, removes PKCS-1… vulnerability
- CVE-2006-4339 OpenSSL before 0.9.7, 0.9.7 before 0.9.7k, and 0.9.8 before 0.9.8c, when using an RSA key with exponent 3, removes PKCS-1 padding before… vulnerability
Child of · CWE (1)
- CWE-710 Improper Adherence to Coding Standards weakness
Referenced by CVE · weakness (9)
- CVE-2026-89087 The cstruct package before 6.3.0 for OCaml mishandles indexes. vulnerability
- CVE-2026-59998 sshd in OpenSSH before 10.4 has an undocumented security-relevant behavior: GSSAPIStrictAcceptorCheck has no value if the server is in… vulnerability
- CVE-2026-41583 ZEBRA is a Zcash node written entirely in Rust. vulnerability
- CVE-2026-28498 Authlib is a Python library which builds OAuth and OpenID Connect servers. vulnerability
- CVE-2025-69287 The BSV Blockchain SDK is a unified TypeScript SDK for developing scalable apps on the BSV Blockchain. vulnerability
- CVE-2025-69202 Axios Cache Interceptor is a cache interceptor for axios. vulnerability
- CVE-2025-46330 libsnowflakeclient is the Snowflake Connector for C/C++. vulnerability
- CVE-2025-21601 An Improper Following of Specification by Caller vulnerability in web management (J-Web, Captive Portal, 802.1X, Juniper Secure Connect… vulnerability
- CVE-2019-14829 A vulnerability was found in Moodle affection 3.7 to 3.7.1, 3.6 to 3.6.5, 3.5 to 3.5.7 and earlier unsupported versions where activity… vulnerability
Referenced by CWE · child of (18)
- CWE-103 Struts: Incomplete validate() Method Definition weakness
- CWE-104 Struts: Form Bean Does Not Extend Validation Class weakness
- CWE-243 Creation of chroot Jail Without Changing Working Directory weakness
- CWE-253 Incorrect Check of Function Return Value weakness
- CWE-296 Improper Following of a Certificate's Chain of Trust weakness
- CWE-304 Missing Critical Step in Authentication weakness
- CWE-325 Missing Cryptographic Step weakness
- CWE-329 Generation of Predictable IV with CBC Mode weakness
- CWE-358 Improperly Implemented Security Check for Standard weakness
- CWE-475 Undefined Behavior for Input to API weakness
- CWE-568 finalize() Method Without super.finalize() weakness
- CWE-579 J2EE Bad Practices: Non-serializable Object Stored in Session weakness
- CWE-580 clone() Method Without super.clone() weakness
- CWE-581 Object Model Violation: Just One of Equals and Hashcode Defined weakness
- CWE-628 Function Call with Incorrectly Specified Arguments weakness
- CWE-675 Multiple Operations on Resource in Single-Operation Context weakness
- CWE-694 Use of Multiple Resources with Duplicate Identifier weakness
- CWE-695 Use of Low-Level Functionality weakness
Referenced by CWE · peer of (1)
- CWE-170 Improper Null Termination weakness