Password callback FFI trampoline forwards the user closure's returned `usize` length to OpenSSL as `c_int` without checking that it does not exceed the buffer `size` parameter that OpenSSL passed in. A user closure that returns a value larger than `size` (e.g. mistaking the length of an external secret for the number of bytes written) causes OpenSSL 1.1.x /
Rule Explorer
Search the public rule index by CVE, GHSA, CWE, language, framework, author, or rule slug. Filter by language, framework, severity, confidence, license, and validation status.
- Public rules
- 2917
- Downloads
- 3.6M
- Verified
- 2917
- Authors
- 2
Unpacking multiple logical parameters from a single Gin path variable using `strings.Split` can lead to parameter confusion and input validation boundaries bypass. If a user-controlled item (like an ID) naturally contains the delimiter, subsequent array offsets map incorrectly, potentially leading to logic corruption, IDOR, or errors. To resolve this securel
Archive entry sizing must account for PAX extended headers to prevent archive entry smuggling (CWE-130 / CWE-1284). Relying exclusively on the basic ustar header size allows an attacker to specify a falsely small size, causing the parser to prematurely conclude the file read and misinterpret remaining file data as injected tar entry headers. Ensure PAX exten
A byte count is padded to a block size using `divmod` without validating if the count is negative. In Python, `divmod` with a negative dividend and positive divisor yields a negative quotient. This can result in negative padded lengths that propagate into file offsets or buffer sizes, potentially leading to backwards-seeking pointer errors, infinite loops, o
A boundary check on a max size or limit configuration uses strict equality (`== 0`) to apply a default value. This validation fails to account for negative configuration values. When negative sizes bypass initialization and are passed to parsing or decompression libraries, it can bypass their internal zero-value checks and lead to unrestricted memory allocat
The application splits a string using a delimiter and accesses the first or last character (e.g., `[0]` or `[-1]`) of the resulting element without checking if it is non-empty. If the input string begins with the delimiter, the first element will be an empty string, leading to an `IndexError`. This can cause unhandled exceptions and Denial of Service (DoS) w