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
2917
Downloads
3.3M
Verified
2917
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
71 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-55617: Custom Session Recreate Without Deletecve-2026-55617-custom-session-recreate-without-delete

Recreating a session token without explicitly deleting the previous session from the token store can result in insufficient session expiration. Orphaned session identifiers may remain fully privileged, allowing session hijacking. Ensure the old session is deleted (e.g., typically via `$TOKEN.del()`) before generating and assigning a new one.

by Provallyupdated 2026-06-23Apache-2.0
7510 direct751 via packs
downloads
70quality
CVE-2026-53661: Insecure Phoenix Cookie Configcve-2026-53661-insecure-phoenix-cookie-config

Missing `secure: true` on Phoenix session cookie or remember-me cookie options. Cookies sent over unencrypted HTTP can be intercepted by an active network attacker. Ensure production configurations set `secure: true`.

by Provallyupdated 2026-06-23Apache-2.0
7460 direct746 via packs
downloads
70quality
CVE-2026-47406: Praisonai Unisolated File Opcve-2026-47406-praisonai-unisolated-file-op

File operations within this class rely on a static path validation method rather than an instance-bound workspace isolation check. This can lead to directory traversal or arbitrary file manipulation. Migrate the method to an instance method taking `self` and ensure paths are resolved safely using an isolated workspace context.

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
77quality
CVE-2026-46561: Incomplete Tarfile Symlink Validationcve-2026-46561-incomplete-tarfile-symlink-validation

Validation of tarfile extraction was observed to lack checks for symbolic links. Calling `.extractall()` after iterating through `.getmembers()` without verifying `.issym()` or `.islnk()` may allow symlink escape attacks (CWE-61). Attackers can bypass directory boundaries by deploying malicious symlinks inside the archive, routing subsequent extractions outs

by Provallyupdated 2026-06-23Apache-2.0
7510 direct751 via packs
downloads
73quality
CVE-2026-44394: Missing Token Expiry Propagationcve-2026-44394-missing-token-expiry-propagation

When rescoping or mapping a new session context from an existing token, the original token's expiration time is not explicitly preserved. Failing to propagate the `expires_at` property can allow an attacker to indefinitely extend session lifetimes by repeatedly rescoping tokens before their explicit expiration.

by Provallyupdated 2026-06-12Apache-2.0
1.1K0 direct1.1K via packs
downloads
74quality
CVE-2026-44319: Go Fatal Log In Goroutinecve-2026-44319-go-fatal-log-in-goroutine

$LOGGER.$FATAL(...) inside a goroutine calls os.Exit(1) after logging, which immediately terminates the entire process — even when the goroutine contains a defer/recover handler. This turns any transient error (e.g., an unreachable callback URI) into a process-level crash that cannot be caught by the caller. Replace with a non-fatal method such as Errorf or

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
77quality
CVE-2026-42314: Tarfile Incomplete Symlink Validationcve-2026-42314-tarfile-incomplete-symlink-validation

Tarfile extraction iterates over archive members (often to mitigate CVE-2007-4559) but fails to validate symlinks using `issym()`, `islnk()`, `linkname`, or `type`. This allows symlink escape attacks where a malicious archive creates symlinks pointing outside the extraction directory.

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
77quality
CVE-2026-41678: Rust Openssl Aes Unwrap Key Inverted Bounds Assertioncve-2026-41678-rust-openssl-aes-unwrap-key-inverted-bounds-assertion

Inverted bounds assertion before AES_unwrap_key: the guard `OUT.len() + 8 <= IN.len()` is reversed. AES key unwrap (RFC 3394) writes `IN.len() - 8` bytes into `OUT`, so the correct invariant is `OUT.len() + 8 >= IN.len()` (equivalently `OUT.len() >= IN.len() - 8`). The reversed comparison admits undersized output buffers and causes an out-of-bounds write fro

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
86quality
CVE-2026-41523: Python Assert Prefix Validation Bypasscve-2026-41523-python-assert-prefix-validation-bypass

Using `assert` for string validation before usage is vulnerable to a bypass because Python strips assert statements from bytecode when executed with optimizations (`-O`). Attackers can supply inputs that bypass string-prefix boundaries, potentially leading to arbitrary code execution, unintended module loading, or path traversal. Replace the `assert` stateme

by Provallyupdated 2026-06-23Apache-2.0
7510 direct751 via packs
downloads
68quality
CVE-2026-40939: Jetty Oidc Missing Logout On Expirycve-2026-40939-jetty-oidc-missing-logout-on-expiry

OIDC configurations do not enforce session invalidation on token expiration. This allows an authenticated session to persist indefinitely. Configure `logoutWhenIdTokenIsExpired(true)` on the `OpenIdConfiguration.Builder`.

by Provallyupdated 2026-06-23Apache-2.0
7480 direct748 via packs
downloads
70quality
CVE-2026-34078: Flatpak Run App Missing Fd Bind Paramscve-2026-34078-flatpak-run-app-missing-fd-bind-params

flatpak_run_app() is defined without GArray *bind_fds / GArray *ro_bind_fds parameters. Without them, the Flatpak portal must forward sandbox-expose paths as raw path strings to bubblewrap --bind, which follows symlinks at mount time. A sandboxed app can plant a symlink inside its writable instance directory pointing to any host path and supply it as a sandb

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
82quality
CVE-2026-34063: Rust Libp2p Handler Paniccve-2026-34063-rust-libp2p-handler-panic

Using `panic!` inside libp2p `ConnectionHandler` negotiation events (`FullyNegotiatedInbound`, `FullyNegotiatedOutbound`) exposes the application to remote Denial of Service (DoS) attacks. An attacker can intentionally negotiate duplicate streams or unexpected states to trigger the panic and crash the node. Handle invalid states gracefully by returning an er

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
69quality
CVE-2026-33711: Insecure Tmp File Creationcve-2026-33711-insecure-tmp-file-creation

Creating a file in a shared temporary directory with a predictable name and without `os.O_EXCL` allows local attackers to mount a symlink attack. If an attacker pre-creates a symlink at the predictable path, opening or creating the file will follow the symlink and overwrite the target file. Use `os.CreateTemp` to safely create temporary files, or provide `os

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
80quality
CVE-2026-33314: Tar Extractall Missing Symlink Validationcve-2026-33314-tar-extractall-missing-symlink-validation

Archive extraction via `tarfile.extractall` iterates over members and attempts safety validation but misses symlink target validation. This allows a bypass via malicious symbolic links pointing outside the extraction directory. Verify all members using `issym()` and `islnk()`.

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
73quality
CVE-2026-32808: Tarfile Symlink Validation Bypasscve-2026-32808-tarfile-symlink-validation-bypass

Validation of `tarfile` members via `getmembers()` before calling `extractall()` or `extract()` lacks checks for symbolic or hard links (`issym()` or `islnk()`). Path traversal checks on entry names are insufficient because attackers can first extract a symlink and then route subsequent extracted files through it to arbitrarily escape the destination directo

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
77quality
CVE-2026-31814: Rust Panic On Checked Mathcve-2026-31814-rust-panic-on-checked-math

Using `.expect()` or `.unwrap()` on the result of a checked arithmetic operation (e.g., `checked_add`, `checked_sub`) causes a runtime panic on overflow/underflow. When processing untrusted input, this leads to Denial of Service (DoS) due to reachable assertions. Handle the error gracefully using `.ok_or(...)?` or a `match` statement.

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
68quality
CVE-2026-29039: Insecure Elementpath Xpath Evaluationcve-2026-29039-insecure-elementpath-xpath-evaluation

Evaluating XPath expressions using `elementpath` default parsers (XPath2Parser, XPath3Parser, etc.) is unsafe because they support dangerous functions such as `unparsed-text()`, `doc()`, and `environment-variable()`. An attacker can use these functions to read arbitrary files or leak environment variables. Evaluate untrusted XPath using a custom parser with

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
77quality
CVE-2026-28684: Tempfile Cross Device Symlink Overwritecve-2026-28684-tempfile-cross-device-symlink-overwrite

Creating a temporary file without specifying a `dir` and then moving it with `shutil.move` can lead to an arbitrary file overwrite. If the temporary directory is on a different filesystem than the destination, `shutil.move` falls back to a copy operation, which insecurely follows symbolic links at the destination path. Provide the `dir` argument so the tempo

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
78quality
CVE-2026-21622: Password Reset Token Without Expirationcve-2026-21622-password-reset-token-without-expiration

This function validates a password-reset / token record by comparing `$RESET.key` for plain equality without verifying the record's age or using a constant-time comparison. Reset tokens that never expire allow account takeover when an attacker obtains a previously issued (unused) reset email — e.g., from a leaked mailbox archive (CWE-613). Enforce an expirat

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
80quality
CVE-2025-71176: Python Path Chmod Toctoucve-2025-71176-python-path-chmod-toctou

Time-of-Check to Time-of-Use (TOCTOU) vulnerability detected. Calling `stat()` and then `chmod()` on the same path without `follow_symlinks=False` allows an attacker to swap a file or directory with a symbolic link between the two calls. This can lead to arbitrary file permission alteration or privilege escalation. Ensure you pass `follow_symlinks=False` to

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
70quality
CVE-2025-69227: Aiohttp Assert Data Validationcve-2025-69227-aiohttp-assert-data-validation

Using `assert` for critical data validation or state checks (such as end-of-file boundaries, stream validation, or field presence) is unsafe. When Python is executed with optimizations enabled (`-O` or `PYTHONOPTIMIZE=1`), all `assert` statements are stripped. This allows malformed data to bypass checks entirely, potentially leading to infinite loops or Deni

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
73quality
CVE-2025-68471: Reachable Assert Duplicate Statecve-2025-68471-reachable-assert-duplicate-state

The code asserts that two object fields are null (indicating an uninitialized or free state), and then subsequently assigns to one of them. If the execution path reaching this assertion can be triggered multiple times via external input, the assertion will fail and crash the application (Denial of Service). Replace this assertion with proper conditional logi

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
65quality
CVE-2025-67084: Php Upload Missing Extension Allowlistcve-2025-67084-php-upload-missing-extension-allowlist

File upload handler reads $_FILES and persists it via move_uploaded_file() without validating the file extension against a strict allowlist. MIME-type checks are insufficient: PHP source files match text/plain, and mime_content_type() silently does nothing on installations without the fileinfo extension. If the uploads directory is web-accessible, an attacke

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
80quality
CVE-2025-62596: Rust Procfs Myself Toctou Mount Racecve-2025-62596-rust-procfs-myself-toctou-mount-race

`Process::myself()` from the `procfs` crate performs component-by-component path resolution of `/proc/self` without anchoring to a pre-opened directory file descriptor. In environments with shared mount namespaces (container runtimes, sandbox code), an attacker can race the traversal by bind-mounting over an intermediate path component between a validation c

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
74quality
24 of 71 loaded