Explore

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
4797
Downloads
10.1M
Verified
4797
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
62 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-82454: Jwt Unverified Header Algorithmcve-2026-82454-jwt-unverified-header-algorithm

The JWT verification algorithm is dynamically populated from the unverified token header (`alg`). This allows an attacker to forge tokens using algorithm confusion (e.g., supplying HS256 signed with an asymmetric public key). Always hardcode or whitelist allowed algorithms explicitly (e.g. `algorithms: ['RS256']`).

by Provallyupdated 2026-09-02Apache-2.0
8330 direct833 via packs
downloads
74quality
CVE-2026-72889: Net Oauth Unvalidated Signature Method Verifycve-2026-72889-net-oauth-unvalidated-signature-method-verify

OAuth message verification dynamically resolves the signature algorithm from the untrusted request parameter without checking against an allowlist of permitted signature methods. This allows signature algorithm downgrade/confusion attacks.

by Provallyupdated 2026-09-02Apache-2.0
8320 direct832 via packs
downloads
69quality
CVE-2026-59293: Spring Smb Insecure Dialect Smb1cve-2026-59293-spring-smb-insecure-dialect-smb1

Configuring SMB minimum version to SMB1 allows negotiation down to the legacy SMB1/CIFS protocol, which lacks mandatory message signing/encryption and is vulnerable to NTLM relay and MITM tampering attacks. Use SMB202 or higher instead.

by Provallyupdated 2026-09-02Apache-2.0
8220 direct822 via packs
downloads
68quality
CVE-2026-54290: Jwt Jwk Algorithm Confusioncve-2026-54290-jwt-jwk-algorithm-confusion

The JWT signing function defaults to a symmetric algorithm (like 'HS256') and subsequently places it in the token header, but fails to check if the provided private key is an asymmetric JSON Web Key (JWK) containing its own structured 'alg' (algorithm) property. This allows for algorithm confusion attacks where an asymmetric key is mistakenly processed as a

by Provallyupdated 2026-06-23Apache-2.0
2.6K0 direct2.6K via packs
downloads
77quality
CVE-2026-54287: Hono Jwt Jwk Alg Confusioncve-2026-54287-hono-jwt-jwk-alg-confusion

The JWT signing function creates a token header using a provided or default algorithm parameter without verifying if the provided key object contains its own native 'alg' or 'kid' properties. When a JSON Web Key (JWK) is passed natively to this signing function, it may be used with a mismatched symmetric algorithm (e.g., 'HS256'), leading to severe algorithm

by Provallyupdated 2026-06-23Apache-2.0
2.6K0 direct2.6K via packs
downloads
77quality
CVE-2026-54286: Hono Jwt Sign Alg Not From Keycve-2026-54286-hono-jwt-sign-alg-not-from-key

The JWT `sign` function generates a token header using a separate algorithm parameter rather than extracting the algorithm and Key ID directly from the private key object. This omission leaves the framework vulnerable to algorithm confusion during verification because the algorithm and key are not cryptographically bound together.

by Provallyupdated 2026-06-23Apache-2.0
2.6K0 direct2.6K via packs
downloads
77quality
CVE-2026-53762: Wolfcrypt Hkdf Password Key Derivationcve-2026-53762-wolfcrypt-hkdf-password-key-derivation

A key derivation function accepts an iteration parameter but uses wc_HKDF instead of a password-based key derivation function like wc_PBKDF2. HKDF does not support computational work factor scaling, severely weakening offline password security.

by Provallyupdated 2026-09-02Apache-2.0
8210 direct821 via packs
downloads
68quality
CVE-2026-48747: Insecure Hash Hmac Algo Downgradecve-2026-48747-insecure-hash-hmac-algo-downgrade

Dynamically populated hashing algorithms from external inputs or parsed strings can lead to cryptographic downgrade attacks. An attacker may force the application to use a weaker algorithm (e.g., 'md5') when validating signatures. Enforce strong algorithms by hardcoding the expected algorithm (e.g., 'sha256') or validating it strictly against an allowlist be

by Provallyupdated 2026-09-02Apache-2.0
8220 direct822 via packs
downloads
77quality
CVE-2026-46684: Weak Jwt Secret Derivation Md5cve-2026-46684-weak-jwt-secret-derivation-md5

Deriving a JWT secret key using an MD5 hash restricts the key's entropy to at most 128 bits and can make tokens vulnerable to offline forgery attacks, especially if the hashed input (like a password) is predictable. Use a cryptographically secure random value generation (e.g., SecureRandom or UUIDs) for symmetric signature secrets.

by Provallyupdated 2026-09-02Apache-2.0
8220 direct822 via packs
downloads
72quality
CVE-2026-40498: Php Laravel Md5 App Key Auth Tokencve-2026-40498-php-laravel-md5-app-key-auth-token

Authentication or access token derived from `config('app.key')` using MD5 (e.g. `md5(config('app.key') . 'suffix')`). MD5 is cryptographically weak and the construction is an unkeyed hash (not a true HMAC), producing a static, deterministic token that can be brute-forced or leaked via query strings, server logs, browser history and proxy logs. Use `hash_hmac

by Provallyupdated 2026-06-12Apache-2.0
3K0 direct3K via packs
downloads
81quality
CVE-2026-28490: Authlib Internal Registry Unsafe Algorithm Lookupcve-2026-28490-authlib-internal-registry-unsafe-algorithm-lookup

This rule detects Authlib's internal pattern before CVE-2026-28490 was fixed, where an algorithm is retrieved from a registry without validating whether it is deprecated when an explicit whitelist config is missing. This allowed insecure algorithms like RSA1_5 and 'none' to be used by default.

by Provallyupdated 2026-06-12Apache-2.0
3.1K0 direct3.1K via packs
downloads
68quality
CVE-2026-13223: Pretix Unsafe Static Hash Secretcve-2026-13223-pretix-unsafe-static-hash-secret

Using a static hash of an object's `.secret` attribute (e.g., `hashlib.sha1(order.secret).hexdigest()`) for URL or webhook authentication is vulnerable to replay attacks across endpoints. Because the signature is not attached to a specific endpoint, an attacker can capture it from one view (like a return URL) and reuse it on another (like a webhook notify UR

by Provallyupdated 2026-09-02Apache-2.0
8290 direct829 via packs
downloads
68quality
Crypto CipherIntegritygitlab-sast-rules-lgpl-kotlin-crypto-rule-cipherintegrity

The ciphertext produced is susceptible to alteration by an adversary. This mean that the cipher provides no way to detect that the data has been tampered with. If the ciphertext can be controlled by an attacker, it could be altered without detection.

KotlinCWE-327
by GitLab Security Productsupdated 2026-06-03LGPL-3.0-only
3K0 direct3K via packs
downloads
86quality
Crypto CipherPaddingOraclegitlab-sast-rules-lgpl-kotlin-crypto-rule-cipherpaddingoracle

This specific mode of CBC with PKCS5Padding is susceptible to padding oracle attacks. An adversary could potentially decrypt the message if the system exposed the difference between plaintext with invalid padding or valid padding. The distinction between valid and invalid padding is usually revealed through distinct error messages being returned for each con

KotlinCWE-327
by GitLab Security Productsupdated 2026-06-03LGPL-3.0-only
3K0 direct3K via packs
downloads
86quality
Crypto Crypt Crypt Rgitlab-sast-c-crypto-rule-crypt-crypt-r

The crypt functions are not recommended due to the significantly small key space. Modern hardware can crack crypt produced passwords relatively quickly. Consider using the Argon2id password hashing algorithm provided by libsodium. For more information please see: https://libsodium.gitbook.io/doc/password_hashing.

by GitLab Security Productsupdated 2026-06-03GPL-2.0-only
3K0 direct3K via packs
downloads
86quality
Jwt Node Jwt None Algorithmgitlab-sast-rules-lgpl-javascript-jwt-rule-node-jwt-none-algorithm

Use of `{algorithm:'none'}` detected with `jsonwebtoken`. Using none as the algorithm for jsonwebtoken can directly impact the integrity of the information transfer through the JWT token. Consider using a secure algorithm to sign your JWT token such as HMAC or RSA. Some safe usage examples: ``` let token = jwt.sign({user:"user1"}, 'secret', {algorithm: 'HS25

by GitLab Security Productsupdated 2026-06-03LGPL-3.0-only
3.1K0 direct3.1K via packs
downloads
86quality
Crypto CipherIntegritygitlab-sast-java-crypto-rule-cipherintegrity

Cryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi

by GitLab Security Productsupdated 2026-06-03MIT
3K0 direct3K via packs
downloads
86quality
Crypto CipherPaddingOraclegitlab-sast-java-crypto-rule-cipherpaddingoracle

Cryptographic block ciphers can be configured to pad individual blocks if there is not enough input data to match the size of the block. This specific mode of CBC used in combination with PKCS5Padding is susceptible to padding oracle attacks. An adversary could potentially decrypt the message if the system exposed the difference between plaintext with invali

by GitLab Security Productsupdated 2026-06-03MIT
3K0 direct3K via packs
downloads
86quality
Crypto EVP Rc4 40 EVP Rc2 40 Cbcgitlab-sast-c-crypto-rule-evp-rc4-40-evp-rc2-40-cbc

The RC4 algorithm is vulnerable to many attacks and should no longer be used for encrypting data streams. Consider using libsodium's `crypto_secretstream_xchacha20poly1305` stream cipher encryption functions instead. For more information please see: https://libsodium.gitbook.io/doc/secret-key_cryptography/secretstream If you must be FIPS compliant, consider

by GitLab Security Productsupdated 2026-06-03GPL-2.0-only
3K0 direct3K via packs
downloads
86quality
Crypto CipherECBModegitlab-sast-java-crypto-rule-cipherecbmode

Cryptographic algorithms provide many different modes of operation, only some of which provide message integrity. Without message integrity it could be possible for an adversary to attempt to tamper with the ciphertext which could lead to compromising the encryption key. Newer algorithms apply message integrity to validate ciphertext has not been tampered wi

by GitLab Security Productsupdated 2026-06-03MIT
3K0 direct3K via packs
downloads
86quality
Crypto EVP Des Ecb EVP Des Cbcgitlab-sast-c-crypto-rule-evp-des-ecb-evp-des-cbc

The DES algorithm has not been recommended for over 15 years and was withdrawn from NIST (FIPS 46-3) in 2005. Consider using libsodium's `crypto_secretbox_easy` authenticated encryption functions instead. For more information please see: https://libsodium.gitbook.io/doc/secret-key_cryptography/secretbox. If you must be FIPS compliant, consider using OpenSSLs

by GitLab Security Productsupdated 2026-06-03GPL-2.0-only
3K0 direct3K via packs
downloads
86quality
Crypto Crypto Hash Md5gitlab-sast-python-crypto-rule-crypto-hash-md5

The application was found using an insecure or risky digest or signature algorithm. MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recommended to s

PythonCWE-327
by GitLab Security Productsupdated 2026-06-03MIT
3.1K0 direct3.1K via packs
downloads
92quality
Crypto Hash Md5gitlab-sast-python-crypto-rule-hash-md5

The application was found using an insecure or risky digest or signature algorithm. MD2, MD4, MD5 and SHA1 hash algorithms have been found to be vulnerable to producing collisions. This means that two different values, when hashed, can lead to the same hash value. If the application is trying to use these hash methods for storing passwords, then it is recomm

PythonCWE-327
by GitLab Security Productsupdated 2026-06-03MIT
3.1K0 direct3.1K via packs
downloads
92quality
24 of 62 loaded