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.
111 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-115392: Cargo Cap Std Family Trailing Slash Symlink Sandbox Escapecve-2026-115392-cargo-cap-std-family-trailing-slash-symlink-sandbox-escape

$PKG is required or locked at $VER, a release of the cap-std filesystem sandbox family affected by CVE-2026-115392 (fixed in 4.0.3). On macOS and on Linux kernels without openat2(), the userspace containment fallback mishandles a symlink traversed through a trailing-slash path component, so a sandboxed guest can read and write host files outside the sandbox.

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
73quality
CVE-2026-115378: Go Sftp Remote Symlink Created Uncontainedcve-2026-115378-go-sftp-remote-symlink-created-uncontained

A symlink is created on the local filesystem whose target comes from a remote peer ($SFTP.ReadLink) without recording the created link for containment. A malicious server can plant such a symlink early in a recursive transfer and then have the client follow it when creating or writing later entries of the same transfer (os.Mkdir, os.OpenFile with O_CREATE/O_

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
87quality
CVE-2026-115377: Privileged Btrfs Receive Without Chrootcve-2026-115377-privileged-btrfs-receive-without-chroot

`btrfs receive` is executed without the `--chroot` confinement flag. The receiver runs with the privileges of the storage daemon (typically root) and resolves the path and subvolume references embedded in the send stream it reads, so a malicious migration/backup source can plant entries such as a `rootfs -> /` symlink and have arbitrary host files created or

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
86quality
CVE-2026-114098: Dulwich Stash Py Cwe 000 Cve 2026 114098cve-2026-114098-dulwich-stash-py-cwe-000-cve-2026-114098

A repository-controlled git tree entry path is written into the working tree after only name-level validation. The validate_path() check (and stat bookkeeping such as os.lstat(full_path) of the final component) has no knowledge of the real filesystem, so intermediate directory symlinks are accepted: an entry such as "link/post-checkout" while the worktree co

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
87quality
CVE-2026-114097: Python Git Tree Materialized Into Cwd Symlink Writecve-2026-114097-python-git-tree-materialized-into-cwd-symlink-write

build_index_from_tree() is called with the process current working directory ($ROOT) as root_path, so every entry of the given git tree — including symlink entries (mode 120000) whose attacker-controlled target blob is passed straight to os.symlink() — is materialized into the CWD and left on disk. In iterative operations over untrusted history (e.g. a filte

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
81quality
CVE-2026-114096: Python Os Open Symlink Following Truncating Writecve-2026-114096-python-os-open-symlink-following-truncating-write

A file is opened for writing with os.open() using O_TRUNC create/clobber flags but without O_NOFOLLOW (or O_EXCL). os.open follows a symlink that already exists at $PATH, so content written through the returned file descriptor is truncated-and-written to the symlink's target, which can be outside the intended directory (CWE-59/CWE-61 symlink following / arbi

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
90quality
CVE-2026-112936: Python Sqlite Db Path Symlink Followingcve-2026-112936-python-sqlite-db-path-symlink-following

An attacker-influenceable filesystem path reaches sqlite3.connect() by name. SQLite opens and, with creation semantics, creates whatever the final path component points to at each connect, so a local attacker who can create names in the database directory can plant a symbolic link (redirecting database creation and locking, or splitting mutual exclusion betw

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
87quality
CVE-2026-112934: Python Toctou In Place Record Rewrite Opened By Namecve-2026-112934-python-toctou-in-place-record-rewrite-opened-by-name

$OPEN opens $PATH in write mode ($FLAGS) resolved purely by name and then the descriptor is written, but the open is not anchored to a vetted directory fd (no dir_fd=), is not non-blocking (no O_NONBLOCK, so a planted named pipe stalls the open forever), and the enclosing function never re-checks the descriptor's kernel identity with os.fstat (S_ISREG / st_d

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
83quality
CVE-2026-112914: Python Toctou Hardlink Restore After Rename Asidecve-2026-112914-python-toctou-hardlink-restore-after-rename-aside

This code moves a path aside with os.rename/Path.rename and later restores it by name with os.link without follow_symlinks=False. The original pathname stands empty between the rename-aside and the restore, so a local user with write access to the directory can create their own file at the emptied name (breaking mutual exclusion) or swap a symbolic link in a

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
87quality
CVE-2026-109965: Python Path Containment Accept Decision Without Symlink Resolutioncve-2026-109965-python-path-containment-accept-decision-without-symlink-resolution

A path-containment (allow) decision is computed purely lexically: a candidate path is compared against a root directory with os.path.commonpath([ROOT, PATH]) == ROOT (any operand order, root compared directly or via str(...)), while the deciding function never resolves symlinks - no os.path.realpath/realpath, no Path.resolve, and no symlink-escape guard such

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
83quality
CVE-2026-107810: Go Archive Extract Symlink Following Writecve-2026-107810-go-archive-extract-symlink-following-write

Archive extractor materialises attacker-controlled symlink entries and writes regular entries with a symlink-following open (O_CREATE without O_EXCL/O_NOFOLLOW) in the same routine. A symlink entry placed before a regular-file entry redirects the write outside the staging tree (e.g. into a live configuration path), enabling persistent configuration injection

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
87quality
CVE-2026-107809: Go Ambient Auth Credential From Cookie Or Querycve-2026-107809-go-ambient-auth-credential-from-cookie-or-query

An authentication credential is built from a browser-ambient source (an HTTP cookie or a URL query parameter) and returned for request authentication. Browsers automatically attach cookies to cross-site requests, so every endpoint that trusts this token is vulnerable to cross-site request forgery (CWE-352): a remote attacker page can make a logged-in adminis

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
82quality
CVE-2026-104103: Python Tarfile Extract Without Member Filtercve-2026-104103-python-tarfile-extract-without-member-filter

Tar archive is extracted without a containment-enforcing member filter. On Python < 3.14, TarFile.extractall()/extract() default to the "fully_trusted" filter, which does not reject members that escape the destination. Checking only member.name is not enough: a symlink or hard-link member whose linkname points outside the extraction directory, followed by a

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
90quality
CVE-2026-100716: Php Incomplete Symlink Guard Recursive Chowncve-2026-100716-php-incomplete-symlink-guard-recursive-chown

A root-privileged recursive `chown -R` runs on a path whose only symlink protection is an is_link() test on the final path component. Intermediate path components can be swapped for symlinks (e.g. <docroot>/backup -> /etc), or a link target can resolve outside the sanctioned root via unresolved '..' segments, so the recursive ownership change follows the lin

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
77quality
CVE-2026-100713: Php Toctou Symlink Following Write On Customer Homedircve-2026-100713-php-toctou-symlink-following-write-on-customer-homedir

Privileged filesystem mutation (write/chmod/chown/chgrp) on a path derived from a customer-controlled home directory without a containment re-check guarding the flow. The path string is validated only at derivation time; PHP re-resolves the path and follows symlinks when the operation executes, so a local user who controls the home directory can swap in a sy

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
87quality
CVE-2026-85583: Go File Read Symlink Following Unresolved Workspace Pathcve-2026-85583-go-file-read-symlink-following-unresolved-workspace-path

File read/served from a request-derived workspace path that was never resolved through symlinks or Windows junctions. The logical path is only validated lexically (util.GetAbsPathInWorkspace rejects ".." escapes) and the authorization checks ran on the unresolved path, so the OS open follows a link pointing outside the workspace and its target bytes are disc

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
87quality
CVE-2026-85526: Go Path Traversal Untrusted Decoded Path Destructive Fs Opcve-2026-85526-go-path-traversal-untrusted-decoded-path-destructive-fs-op

A destructive, root-privileged filesystem operation (os.Remove, os.Rename, recursive deleteSubvolume, or setReceivedUUID) targets a precomputed subvolume destination from the copyOps loop ($OP.dest) or a destination built inline by joining a privileged volume mount path with an externally decoded subvolume path. Those destinations originate from attacker-inf

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
86quality
CVE-2026-82430: Fts Traversal Pathname Chmod Toctoucve-2026-82430-fts-traversal-pathname-chmod-toctou

Pathname-based permission or ownership operations (chmod, chown, lchown) on FTS traversal entries (fts_path or fts_accpath) are vulnerable to TOCTOU symlink races. An attacker with write access to the traversed directory can replace the entry with a symlink before chmod/chown runs, leading to unauthorized modification of arbitrary files. Instead, open the fi

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
74quality
CVE-2026-81690: Python Rglob Symlink Integrity Bypasscve-2026-81690-python-rglob-symlink-integrity-bypass

Using `Path.rglob()` for file integrity verification or manifest creation does not descend into symlinked directories and can allow planted files beneath symlinks to evade detection. Enumerate the directory tree using `os.walk(..., followlinks=False)` and explicitly validate or reject symlinks using `os.path.islink()`.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
77quality
CVE-2026-81029: Java Servlet Sso Credential Bearing Redirect Without No Storecve-2026-81029-java-servlet-sso-credential-bearing-redirect-without-no-store

A redirect Location that embeds an issued credential (access/JWT token) and user identity is sent with a raw HttpServletResponse.sendRedirect(). In an SSO flow (OIDC/OAuth2/SAML) whose redirect target originates from a caller-supplied callback parameter (?redirectUri= / ?callback= / RelayState) and is only checked after the token is minted, the server delive

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
83quality
CVE-2026-79655: Python Tarfile Fully Trusted Extraction Filtercve-2026-79655-python-tarfile-fully-trusted-extraction-filter

Tar members are extracted with every tarfile protection disabled: extraction_filter is set to tarfile.fully_trusted_filter (or to a pass-through lambda, the fallback used on Pythons that ignore the attribute). tarfile will then faithfully create symlink/hardlink members whose targets are absolute or escape the destination ('../'), and later regular-file memb

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
90quality
CVE-2026-78410: Direct Open Tree Symlink Racecve-2026-78410-direct-open-tree-symlink-race

Direct use of `open_tree()` may follow symlinks in leading path components, leading to TOCTOU and symlink redirection vulnerabilities. Consider pinning the path using `openat2()` with `RESOLVE_NO_SYMLINKS` before mounting or cloning trees.

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
73quality
CVE-2026-78409: Open Tree Symlink Traversalcve-2026-78409-open-tree-symlink-traversal

Calling open_tree() with AT_SYMLINK_NOFOLLOW does not prevent intermediate symlink traversal or escaping the target directory tree. Use openat2() with RESOLVE_BENEATH and RESOLVE_NO_SYMLINKS or a safe path resolution helper instead.

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
71quality
CVE-2026-77815: Python Path Containment Unbounded Prefix Checkcve-2026-77815-python-path-containment-unbounded-prefix-check

A path-containment (allow-list) decision is made with str.startswith() against a trusted root that has no trailing path-separator boundary and is not resolved with os.path.realpath. A requested path that merely shares the root as a string prefix (e.g. /data/images vs /data/images-backup) is therefore trusted (CWE-22), and a symlink placed inside the root nor

by Provallyupdated 2026-10-27Apache-2.0
500 direct50 via packs
downloads
87quality
24 of 111 loaded