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.
61 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-116073: Typescript Url Pathname Decode After Basename Path Traversalcve-2026-116073-typescript-url-pathname-decode-after-basename-path-traversal

A URL path is passed to path.basename() BEFORE decodeURIComponent(), so percent-encoded separators (%2f, %5c) and dot segments (%2e%2e) survive basename() and only decode into '/', '\' or '../' afterwards. The decoded file name can therefore contain traversal segments, and joining it onto a base directory with path.join() resolves the destination outside tha

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
86quality
CVE-2026-116067: Go Path Traversal Unvalidated Filename Joincve-2026-116067-go-path-traversal-unvalidated-filename-join

A client-controlled file name flows into a filesystem path built with filepath.Join / string concatenation and reaches a filesystem operation without a containment check. filepath.Join only lexically cleans "." and ".." elements, so a name containing "../" resolves outside the intended base directory, enabling arbitrary file read/write/delete; interpolating

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-116009: Ruby Path Traversal Write Via Unreduced User Filenamecve-2026-116009-ruby-path-traversal-write-via-unreduced-user-filename

A user-controlled filename reaches a write-mode file operation through a path built with File.join(base_dir, name) without being reduced with File.basename and without verifying that the final expanded path stays inside the base directory. A name containing "../" (or an absolute path) escapes the intended directory, giving an attacker an arbitrary file write

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-115354: Python Path Traversal Unconfined Os Path Join Opencve-2026-115354-python-path-traversal-unconfined-os-path-join-open

Unconfined path construction before a file read: a dynamic path segment $COMP is joined onto a base directory with os.path.join() and the result is opened without os.path.realpath() canonicalization and without a containment check. os.path.join() silently discards the base directory when $COMP is absolute, and os.path.normpath() only collapses ".." segments

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-115353: Python Path Traversal Uncontained Join Opencve-2026-115353-python-path-traversal-uncontained-join-open

Path traversal (CWE-22): a file path is built with os.path.join($BASE, $P) and passed to open() without proving the resolved target stays inside $BASE. os.path.join silently discards $BASE when $P is absolute, and os.path.normpath only collapses "../" lexically, so an attacker-controlled $P can read any file readable by the process. Reject absolute arguments

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-114375: Go Path Traversal Unchecked Join Into Os Renamecve-2026-114375-go-path-traversal-unchecked-join-into-os-rename

A runtime path component is joined onto the configuration-defined served root with filepath.Join inside an HTTP handler that renames files with os.Rename. filepath.Join and filepath.Clean only lexically normalize a path: ".." segments, absolute paths, backslash and percent-encoded separators all survive, so a request-controlled name or directory joined onto

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-114109: Rust Path Traversal Unvalidated Name Joincve-2026-114109-rust-path-traversal-unvalidated-name-join

A filesystem destination is built with `$BASE.join($SCRIPT.name)` and the result is not checked to stay inside `$BASE`. If `$SCRIPT.name` originates from parsed external data (e.g. an archive/manifest entry name such as a wheel entry-point key), a value containing `..` or an absolute path makes `Path::join` escape `$BASE` entirely, turning a write into that

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-113613: Python Uncontained Archive Member Path Joincve-2026-113613-python-uncontained-archive-member-path-join

Archive member name ($MEMBER_EXPR) is joined onto base path $BASE and the result is used as an extraction destination without a containment check. Member names containing "../" sequences or an absolute path resolve outside the destination directory, so an attacker-supplied archive can write arbitrary files (Zip Slip, CWE-22). Resolve the joined path and veri

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-109956: Python Weka Model Path Containment Bypasscve-2026-109956-python-weka-model-path-containment-bypass

A caller-controlled model-artifact path reaches an external classifier/JVM command line as the value of a read/write option ("-l" read target, "-d" write target) without being bounded to the containment data roots. An attacker who controls the model path can make the external process write an arbitrary file via "-d" (e.g. ../../../etc/cron.d/evil or ~/.ssh/a

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
90quality
CVE-2026-108902: Php Path Traversal Unvalidated File Deletioncve-2026-108902-php-path-traversal-unvalidated-file-deletion

A filesystem path handed to a file-deletion routine is built by string concatenation with an unvalidated value. Path-traversal sequences such as "../" (or backslashes or NUL bytes) in that value escape the intended media directory and let an attacker delete arbitrary files (other users' content, application configuration and cache files), causing content los

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-105699: Python Storage Unvalidated Filename Path Traversalcve-2026-105699-python-storage-unvalidated-filename-path-traversal

A caller-supplied file name (and/or owner/folder id) is joined directly into a filesystem path and used for a file operation without path-containment validation. A URL-decoded name containing "/" or ".." escapes the storage directory boundary (data_dir/<id>/) and lets an authenticated caller read, overwrite, delete or stat files outside the intended folder,

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-104081: Php Single Pass Traversal Strip Path Traversalcve-2026-104081-php-single-pass-traversal-strip-path-traversal

A single non-recursive str_replace() pass is used to strip '../' or '..\' from a path or archive entry name. One pass is not idempotent: crafted names such as "....//" lose their inner "../" and the residual ".." + "/" re-splice into a live "../", so the "sanitized" path still escapes the extraction directory (Zip Slip) and enables arbitrary file overwrite,

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
86quality
CVE-2026-102991: Python Path Traversal Guard After Drive Aware Normpathcve-2026-102991-python-path-traversal-guard-after-drive-aware-normpath

A path or URI normalized with a drive-aware path module (os.path, which is ntpath on Windows, or ntpath directly) flows into a leading-dot-dot containment check. ntpath.normpath() splits off a drive designator and absorbs the following ".." segments into the drive root (e.g. "C:/../../secret.txt" normalizes to "C:\secret.txt"), so the traversal guard is bypa

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
90quality
CVE-2026-101885: Rust Plugin Manifest Path Join Traversalcve-2026-101885-rust-plugin-manifest-path-join-traversal

A plugin-manifest validator inspects a manifest-supplied path field (e.g. `wasm_path`) but never component-validates its VALUE before that value is combined with trusted base directories via `Path::join` during plugin install/discovery (CVE-2026-101885). `Path::join` lets an absolute component (`/home/u/.bashrc`) replace the trusted base entirely and passes

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-95629: Java Camel Path Traversal Header To Process Output Argumentcve-2026-95629-java-camel-path-traversal-header-to-process-output-argument

A value read from a message/exchange header flows into a process command argument list without being normalized or confined to a base directory. An attacker who can set the header can make the external tool write (or read) outside the intended directory via an absolute path or ".." segments. Canonicalize the path (Paths.get($p).normalize()) and, when a base

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
87quality
CVE-2026-93992: Go Archive Entry Path Traversal Unsanitized Joincve-2026-93992-go-archive-entry-path-traversal-unsanitized-join

Archive entry name flows into a filesystem write path without being cleaned and rejected when it still starts with ".." or is absolute. filepath.Join only cleans the result; it does not confine it to the destination directory, so a crafted entry name such as ../../x or /etc/x escapes the extraction directory (Zip Slip) and lets an attacker create directories

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
86quality
CVE-2026-87976: Extension Filesystembundlepersistenceprovider Java Cwe 000 Cve 2026 87976cve-2026-87976-extension-filesystembundlepersistenceprovider-java-cwe-000-cve-2026-87976

A path containment check was performed using `startsWith` on a resolved `Path` that has not been normalized. In Java, `parentPath.resolve(childPath)` retains `parentPath`'s components as its prefix even if `childPath` contains traversal sequences (`..`). Calling `startsWith(parentPath)` on an unnormalized resolved path will evaluate to true, failing to preve

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
83quality
CVE-2026-86775: Go Filepath Fromslash Path Traversalcve-2026-86775-go-filepath-fromslash-path-traversal

Constructing a target file path by joining a base directory with the result of `filepath.FromSlash` without verifying path containment allows directory traversal via '../' sequences (CVE-2026-86775). Validate that the target path remains within the intended root using `filepath.Rel` or `filepath.Localize`.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
81quality
CVE-2026-86542: Go Path Traversal Unvalidated Http Path Joincve-2026-86542-go-path-traversal-unvalidated-http-path-join

HTTP request input flows into a filesystem path without first being validated as a single path segment. A value containing "..", "/" or "\" escapes the base directory passed to filepath.Join/path.Join, so an unauthenticated attacker can delete, create, overwrite or read files anywhere the server process can reach. Validate the value as one path segment (reje

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
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
440 direct44 via packs
downloads
86quality
CVE-2026-85185: Go Btrfs Header Subvolume Path Traversalcve-2026-85185-go-btrfs-header-subvolume-path-traversal

A destination path propagated from an externally supplied metadata header ($OP.$DESTFIELD, the copy-op target the restore loop received for a subvolume listed in the migration/optimized-backup header decoded with json.Unmarshal / yaml Decode) is used as the DESTINATION of a destructive filesystem operation (os.Remove / os.Rename, or the btrfs-specific delete

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-77156: Go Archive Tar Path Traversal Unvalidated Entry Writecve-2026-77156-go-archive-tar-path-traversal-unvalidated-entry-write

Unvalidated tar entry name written to the filesystem. The name returned by tar.Reader.Next() is fully controlled by the archive; using it (directly, or via filepath.Join which only cleans and never contains) to create directories or files lets an entry named '../...' or '/abs/path' escape the extraction directory (Zip-Slip/Tar-Slip, CWE-22). Reject empty and

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-74884: Plugin Sandbox Py Cwe 000 Cve 2026 74884cve-2026-74884-plugin-sandbox-py-cwe-000-cve-2026-74884

An attacker-influenced identifier ($IDENT) read off a data object ($OBJ: a plugin/request/tenant context, config or mapping) flows into filesystem path construction or into a startswith()/endswith() access-control prefix without validation. A value containing "/", "\", a NUL byte or ".." makes os.path.realpath()/os.path.expanduser() resolve the boundary dire

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-74038: C Name Whitelist Allows Leading Dot Parent Refcve-2026-74038-c-name-whitelist-allows-leading-dot-parent-ref

$FUNC() validates a name with a character whitelist that explicitly allows '.' but never rejects a leading '.', so a name made entirely of dots (e.g. "..") passes validation. Such a name is later used as a filesystem path component: a whole name equal to ".." resolves to the parent directory, so paths built as "<base>/<name>" escape the intended directory an

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
24 of 61 loaded