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
6965
Downloads
12.9M
Verified
6965
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
19 rules matched. Showing 19 loaded rules.
Publish rule
CVE-2026-108580: Python Flask Login Without Rate Limitingcve-2026-108580-python-flask-login-without-rate-limiting

Credentials from the request are verified in this handler with no throttling, lockout, or failed-attempt accounting. An unauthenticated attacker can guess passwords against this endpoint indefinitely (CWE-307), and if the credential check short-circuits password hashing for unknown usernames (e.g. `if not user or not check_password_hash(...)`) the same endpo

by Provallyupdated 2026-10-27Apache-2.0
550 direct55 via packs
downloads
84quality
CVE-2026-108109: Php Security Weak Prng Generated Credentialcve-2026-108109-php-security-weak-prng-generated-credential

A one-time verification code or replacement password is generated with a non-cryptographic PRNG (mt_rand/rand/lcg_value/uniqid). Its output is predictable or drawn from a tiny value space (e.g. a 6-digit OTP or a 5-digit numeric password), so an attacker who can reach the verification endpoint can guess the credential and take over the account, especially wh

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
82quality
CVE-2026-107638: Php Otp Verification Missing Attempt Throttlingcve-2026-107638-php-otp-verification-missing-attempt-throttling

The one-time-password check '$METHOD' verifies an attacker-supplied code without any failed-attempt accounting or lockout in the same scope. An attacker who already knows the account password can keep the half-authenticated session and submit unlimited OTP guesses (CWE-307), defeating two-factor authentication and taking over the account. Record every failed

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
83quality
CVE-2026-105835: Auth Code Rejection Without Attempt Limitcve-2026-105835-auth-code-rejection-without-attempt-limit

A rejected authentication code ($CODE_CHECK) is handled by logging and throwing $ERR without any state change: no attempt counter is incremented, no pending session/token is invalidated, and no rate limit or lockout is applied. An attacker who already knows the password can hold the pending (step-up) token for its whole lifetime and replay this endpoint, enu

by Provallyupdated 2026-10-27Apache-2.0
480 direct48 via packs
downloads
80quality
CVE-2026-91973: Go Echo Security Basicauth Route Group Without Rate Limitcve-2026-91973-go-echo-security-basicauth-route-group-without-rate-limit

HTTP Basic authentication ($AUTH) is applied to route group $G without a rate-limiting middleware in the same middleware chain. BasicAuth validates a username/password guess on every request, so without a per-client failure budget this endpoint allows unbounded online password guessing and bypasses the anti-brute-force controls that protect other login endpo

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
84quality
CVE-2026-88770: Keycloak Oauth2 Grant Missing Brute Force Lockout Checkcve-2026-88770-keycloak-oauth2-grant-missing-brute-force-lockout-check

Device-code grant redemption (grant_type=urn:ietf:params:oauth:grant-type:device_code) validates the redeeming user only with UserModel.isEnabled() and never consults brute-force lockout state. Temporary lockout is tracked separately by BruteForceProtector/attack-detection state and does not clear the enabled flag, so an approved, non-expired, single-use dev

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
87quality
CVE-2026-84476: Php Forwarded Header Ip Trusted On Private Remote Addrcve-2026-84476-php-forwarded-header-ip-trusted-on-private-remote-addr

A client-supplied forwarding header (X-Forwarded-For, X-Real-IP, Client-IP, Forwarded) is trusted as the client IP whenever the direct peer address (REMOTE_ADDR) merely classifies as private/loopback/internal. Behind a reverse proxy, load balancer, NAT, container ingress or tunnel, REMOTE_ADDR is private for every request, including attacker requests, so thi

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
75quality
CVE-2026-65825: Tenant Conditionally Scoped Bruteforce Throttlecve-2026-65825-tenant-conditionally-scoped-bruteforce-throttle

A brute-force throttle/lockout record is read, reset, or deleted with a conditionally applied tenant filter (`$COND ? eq($TABLE.$TENANTCOL, $COND) : undefined`) while the throttle row is keyed by the tenant-independent identifier alone. Because the row's tenant tag is written by whichever tenant first records a failed attempt, a lookup issued by any other te

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
75quality
CVE-2026-58271: Auth Attempt Counter Preserved Ignoring Login Outcomecve-2026-58271-auth-attempt-counter-preserved-ignoring-login-outcome

The flag "$FLAG" decides whether the failed-login-attempt counter is preserved based only on MFA/TOTP state and never checks whether the authentication attempt succeeded. When a login or 2FA attempt fails, the counter is written back unchanged, so the account-lockout gate (maximum failed attempts) can never trigger and passwords or TOTP codes can be guessed

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
75quality
CVE-2026-55795: Craft Commerce Cart Ratelimit Bypasscve-2026-55795-craft-commerce-cart-ratelimit-bypass

Rate limiting identity resolver only checks for the presence of the 'number' parameter and ignores 'couponCode'. Requests modifying session-based carts without the 'number' parameter bypass rate limiting, allowing coupon enumeration and brute-force attacks.

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
74quality
CVE-2026-53985: Unhandled Db Exception Login Lockout Bypasscve-2026-53985-unhandled-db-exception-login-lockout-bypass

Failed login counter update and commit is performed without handling database operational or locking exceptions. Unhandled database errors can cause the transaction to fail before recording failed login attempts, enabling brute-force attacks to bypass lockout controls.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
77quality
CVE-2026-48084: Unthrottled Passphrase Authcve-2026-48084-unthrottled-passphrase-auth

Passphrase or password verification failure returns an error response without recording the failed attempt or triggering rate-limiting/throttling. This allows unthrottled brute-force or credential stuffing attacks.

by Provallyupdated 2026-09-02Apache-2.0
1.5K0 direct1.5K via packs
downloads
74quality
CVE-2026-47744: Livewire Password Get Leakcve-2026-47744-livewire-password-get-leak

A Livewire form containing a password input uses the `wire:submit` directive without the `.prevent` modifier. In older versions of Livewire, this omission causes the browser to perform a native HTML GET submission by default. This causes sensitive credentials (like user passwords) to leak directly into the URL query string, where they can be cached in browse

by Provallyupdated 2026-06-12Apache-2.0
3.7K0 direct3.7K via packs
downloads
61quality
CVE-2026-44596: Yamcs Missing Rate Limit Auth Endpointcve-2026-44596-yamcs-missing-rate-limit-auth-endpoint

The `/auth/token` endpoint lacks an explicit rate-limiting control. This omission allows unauthenticated attackers to perform unrestricted password-guessing attempts, leading to brute-force attacks or Denial-of-Service. Ensure that `checkRateLimit()` is invoked before parsing and processing the token request.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
70quality
CVE-2026-41893: Signalk Securitystrategy Login Without Rate Limitcve-2026-41893-signalk-securitystrategy-login-without-rate-limit

Call to securityStrategy.login() is not preceded by a login rate-limit check in the enclosing function. Authentication entry points must be throttled to prevent online brute-force / credential-stuffing attacks (CVE-2026-41893, CWE-307). The HTTP routes /login and /signalk/v1/auth/login are guarded by express-rate-limit, but WebSocket message handlers invokin

by Provallyupdated 2026-06-12Apache-2.0
3.7K0 direct3.7K via packs
downloads
80quality
CVE-2026-33640: Otp Verify Without Attempt Limitcve-2026-33640-otp-verify-without-attempt-limit

A verification-code verify-style function retrieves a stored OTP and immediately returns a constant-time equality comparison without incrementing an attempt counter or invalidating the code on repeated failures. With small code keyspaces (e.g. 6-digit OTPs) and a multi-minute TTL, this allows brute-force account takeover when the external rate limiter is abs

by Provallyupdated 2026-06-12Apache-2.0
3.7K0 direct3.7K via packs
downloads
74quality
CVE-2026-19297: Python Fastapi Login Endpoint Missing Attempt Rate Limitcve-2026-19297-python-fastapi-login-endpoint-missing-attempt-rate-limit

Login endpoint $FUNC accepts password credentials (OAuth2PasswordRequestForm) and verifies them with an authentication call, but no rate limit / failed-attempt control is enforced in the handler. An unauthenticated attacker can perform online password brute-force or password spraying at line speed and take over the account (CWE-307). Enforce an attempt limit

by Provallyupdated 2026-10-27Apache-2.0
550 direct55 via packs
downloads
80quality
CVE-2025-62425: Matrix Auth Missing Rate Limitcve-2025-62425-matrix-auth-missing-rate-limit

A missing rate-limit check before verifying an authentication code allows an attacker to brute-force the code. Ensure that rate limiting, such as `check_email_authentication_attempt`, is enforced and its error is handled before querying for the authentication code.

by Provallyupdated 2026-06-12Apache-2.0
3.6K0 direct3.6K via packs
downloads
70quality
CVE-2025-43863: Change Password Bruteforce No Rate Limitcve-2025-43863-change-password-bruteforce-no-rate-limit

The "current password" submitted to a change-password handler is verified with a bare check_password() call that has no failed-attempt counting, lockout, or notification side effects. An attacker holding an authenticated session can brute-force the user's password by replaying this endpoint without ever being rate-limited or locked out. Validate the submitte

by Provallyupdated 2026-06-12Apache-2.0
3.7K0 direct3.7K via packs
downloads
83quality
All matching rules loaded.