Skip to content
OpenAdvisories

Weakness (CWE)

CWE-23: Relative Path Traversal

Base Draft

The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as ".." that can resolve to a location that is outside of that directory.

How to prevent it (3 mitigations)
  1. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

    When validating filenames, use stringent allowlists that limit the character set to be used. If feasible, only allow a single "." character in the filename to avoid weaknesses such as CWE-23, and exclude directory separators such as "/" to avoid CWE-36. Use a list of allowable file extensions, which will help to avoid CWE-434.

    Do not rely exclusively on a filtering mechanism that removes potentially dangerous characters. This is equivalent to a denylist, which may be incomplete (CWE-184). For example, filtering "/" is insufficient protection if the filesystem also supports the use of "\" as a directory separator. Another possible error could occur when the filtering is applied in a way that still produces dangerous data (CWE-182). For example, if "../" sequences are removed from the ".../...//" string in a sequential fashion, two instances of "../" would be removed from the original string, but the remaining characters would still form the "../" string.

  2. Implementation

    Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180). Make sure that the application does not decode the same input twice (CWE-174). Such errors could be used to bypass allowlist validation schemes by introducing dangerous inputs after they have been checked.

    Use a built-in path canonicalization function (such as realpath() in C) that produces the canonical version of the pathname, which effectively removes ".." sequences and symbolic links (CWE-23, CWE-59). This includes:

    - realpath() in C

    - getCanonicalPath() in Java

    - GetFullPath() in ASP.NET

    - realpath() or abs_path() in Perl

    - realpath() in PHP

  3. Operation

    Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].

Source: MITRE CWE-23

250 results · Clear filters · Feed

  • High 8.8

    FileWiki has path traversal in RenameAsset via unsanitized oldFilename parameter

    LeafWiki is a self-hosted wiki. Versions 0.3.0 through 0.10.0 have a path traversal vulnerability in LeafWiki’s asset rename functionality. An authenticated user with editor permissions could move files that are accessible to the LeafWiki server process into …

  • High 7.5

    Apache InLong: Agent path traversal via unvalidated file source path

    Relative Path Traversal vulnerability in Apache InLong. Arbitrary file read from the Agent host filesystem. This issue affects Apache InLong: from 2.0.0 before 2.4.0. Users are advised to upgrade to Apache InLong's 2.4.0 or cherry-pick [1] to solve it. [1]  h…

  • High 7.5

    Handlebars.java: Arbitrary file read in `SpringTemplateLoader` via URL-fragment suffix bypass

    Handlebars.java provides logic-less and semantic Mustache templates with Java. Prior to 4.5.3, com.github.jknack.handlebars.springmvc.SpringTemplateLoader resolves attacker-influenced Spring MVC view names through Spring ResourceLoader without the path-contai…

  • High 7.3

    Relative Path Traversal in Kibana Fleet Leading to Unauthorized Deletion of Users and Other Resources

    Relative Path Traversal (CWE-23) in Kibana can lead to the unauthorized deletion of Kibana resources via Relative Path Traversal (CAPEC-139). Kibana Fleet accepted a user-supplied identifier for a Fleet Server host configuration without rejecting relative tra…

  • High 8.8

    Microsoft PowerShell Remote Code Execution Vulnerability

    Relative path traversal in Microsoft PowerShell Core allows an unauthorized attacker to execute code over a network.

  • High 7.8

    .NET Framework Elevation of Privilege Vulnerability

    Relative path traversal in .NET Framework allows an unauthorized attacker to elevate privileges locally.

  • High 7.1

    Zoom VDI - Path Traversal

    Path traversal in Zoom VDI Client and Plugins may allow an authenticated user to conduct information disclosure via local access.

  • High 8.5

    Path Traversal

    Zohocorp ManageEngine M365 Manager Plus and M365 Security Plus versions below 4820 are affected to Authenticated Path Traversal vulnerability in Exchange Online backup module.

  • High 7.5

    Path Traversal Vulnerability in parisneo/lollms

    A path traversal vulnerability exists in parisneo/lollms version 2.1.0, specifically in the SPA catch-all route implemented in `backend/routers/ui.py`. The vulnerability arises from the improper handling of user-controlled path input, which is directly joined…

  • High 7.0

    Path traversal in imported file_entries name allows arbitrary file write via URL-type entry download

    Relative Path Traversal vulnerability in livebook-dev livebook allows an attacker-authored notebook to write a file with attacker-controlled content to an arbitrary path. A .livemd notebook can declare file_entries metadata, each entry carrying a name. Every …

  • High 7.5

    PathTravelsal Vulnerability in com.talpa.hibrowser

    Path Traversal in Download File Feature in com.talpa.hibrowser 2.23.1.1 on Android allows arbitrary file write via directory traversal sequences in the filename.

  • High 8.7

    hashi-vault-js has a path traversal and query parameter injection

    hashi-vault-js is a Node.js module for interacting with the HashiCorp Vault API. Prior to 0.5.2, src/Vault.js concatenates unencoded identifier values including name, username, group, role, and version into Vault request paths and query strings instead of usi…

  • High 7.9

    L7 policy bypass via unnormalized HTTP path matching

    Calico's Application Layer Policy (disabled by default), which enforces HTTP rules through Dikastes, fails to perform URL path normalization. As a result, HTTP requests using path-traversal segments, encoded slashes, or repeated slashes are not correctly eval…

  • High 8.1

    WP Foodbakery <= 4.9 - Authenticated (Subscriber+) Arbitrary File Deletion via via delete_locations_backup_file AJAX Action

    The WP Foodbakery plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the 'delete_locations_backup_file_callback' function in all versions up to, and including, 4.9. This makes it possible for authenticate…

  • High 7.7

    FileBrowser Quantum's path traversal issue in subtitle handler allows any authenticated user to read arbitrary files

    FileBrowser Quantum is a free, self-hosted, web-based file manager. Prior to version 1.4.3-beta, the `subtitlesHandler` endpoint (`GET /api/media/subtitles`) accepts two user-controlled query parameters: `path` and `name`, both of which are used in filesystem…

  • High 8.8

    Windows Admin Center (WAC) Remote Code Execution Vulnerability

    Relative path traversal in Windows Admin Center allows an authorized attacker to execute code over a network.

  • High 7.8

    Windows User Interface Core Elevation of Privilege Vulnerability

    Relative path traversal in Windows User Interface Core allows an authorized attacker to elevate privileges locally.

  • High 8.0

    Windows PowerShell Remote Code Execution Vulnerability

    Relative path traversal in Windows PowerShell allows an authorized attacker to execute code over a network.

  • High 8.8

    Game: Age of Empires II: Definitive Edition Remote Code Execution Vulnerability

    Relative path traversal in Age of Empires II: Definitive Edition Game allows an unauthorized attacker to execute code over a network.

  • High 7.7

    Path traversal in Ivanti  Xtraction before version 2026.2.1 allows a remote authenticated attacker to read arbitrary fi…

  • High 7.1

    Snipe-IT: Directory traversal in displaySig

    Snipe-IT is an IT asset/license management system. Prior to 8.5.0, ActionlogController::displaySig concatenates the route filename parameter into a private upload-directory path without sanitization, allowing an authenticated attacker to traverse outside the …

  • High 7.1
    CVE-2026-50181 Public exploit

    Langroid: Path traversal in the file tools allows read/write outside configured current directory

    Langroid is a framework for building large-language-model-powered applications. Prior to version 0.64.0, Langroid's `ReadFileTool` and `WriteFileTool` appear to treat `curr_dir` as the intended working-directory boundary for file operations. However, the tool…

  • High 7.7

    SiYuan: Authenticated path traversal in /snippets/ static handler (serveSnippets) leaks conf/conf.json secrets and siyuan.db

    SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the /snippets/*filepath route handler serveSnippets in kernel/server/serve.go joins a single-decoded request path with the snippets directory without subpath containment or sensiti…

  • High 7.2
    CVE-2026-61343 Public exploit

    LibreBooking path traversal

    LibreBooking's email template editor save action passes the submitted template name directly into the destination file path, allowing a remote attacker with administrator credentials to write an arbitrary file outside the template directory and execute code. …

  • High 8.0

    Sssd: sssd: gpo cache path traversal via unsanitized gpcfilesyspath allows kerberos authentication bypass

    A path traversal flaw was found in SSSD's AD GPO provider. The ad_gpo_extract_smb_components() function does not sanitize .. sequences in the gPCFileSysPath LDAP attribute, allowing an attacker with AD GPO management access to write files outside the GPO cach…

  • High 7.1

    Relative path traversal vulnerability in MicroRealEstate file upload functionality allows attackers to potentially over…

  • High 8.0

    ownCloud 10 is vulnerable to Relative Path Traversal

    ownCloud is a file storage, synchronization, and sharing application. In ownCloud 10 prior to version 10.15.3, an attacker with administrative privileges can exploit a path traversal vulnerability in the system to execute arbitrary code. Upgrade ownCloud 10 t…

  • High 7.1

    Microsoft Edge (Chromium-based) Remote Code Execution Vulnerability

    Relative path traversal in Microsoft Edge (Chromium-based) allows an unauthorized attacker to execute code over a network.

  • High 8.4

    libzypp path traversal via "keyhint" in repomd.xml

    A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.

  • High 7.5
    CVE-2026-8023 Public exploit

    Path traversal in Zephyr HTTP server static-filesystem resource handler allows unauthenticated remote arbitrary file read

    Zephyr's HTTP server (subsys/net/lib/http) provides a static-filesystem resource type (HTTP_RESOURCE_TYPE_STATIC_FS, available when CONFIG_FILE_SYSTEM is enabled) that serves files from a configured root directory. Before this fix, both the HTTP/1 and HTTP/2 …

  • High 8.8

    Handcrafted repo metadata may cause arbitrary local files to be overwritten by libzypp

    A relative path traversal bug problem when processing repository metadata in libzypp before 17.38.10 could be used by remote attackers supplying repositories to overwrite files on the system, leading to denial of service or privilege escalation.

  • High 8.8

    pnpm: Transitive dependency alias path traversal allows project path override via symlink replacement

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm allows a transitive dependency alias from registry package metadata to contain path traversal segments. During install, pnpm later uses that alias as a filesystem path when linking dependency nodes.…

  • High 7.5
    CVE-2026-54066 Scanner template

    SiYuan: Path Traversal via Double URL Encoding in /assets/*path (publish mode arbitrary file─read)

    SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, the patch for CVE-2026-41894 ("Path Traversal via Double URL Encoding") sanitized the /export/ route but the identical root cause remains in the /assets/*path route. In publish mod…

  • High 7.3

    path traversal via `config` parameter in qSnapper

    A path traversal attack when using a "configName" parameter in qSnapper before version 1.3.3 allowed a local attacker to use malicious config files for snapper and so cause a denial of service or potentially escalate privileges to root.

  • High 7.6

    Slopsmith has path traversal in archive extractors that allows arbitrary file write → potential RCE

    Slopsmith is a self-contained web application for browsing, playing, and practicing Rocksmith 2014 Custom DLC (CDLC). Prior to 0.2.9-alpha.5, a path-traversal vulnerability in Slopsmith's archive extractors allows an attacker to write arbitrary files outside …

  • High 8.6

    Impact A security issue has been identified in Chef 360 that could allow unauthorized access to protected API endpoints…

  • High 7.1

    Path traversal in Wertheim SafeController Software allows authenticated users to download arbitrary files

    Wertheim SafeController Software, AssemblyVersion 6.15.8328.28014, contains a path traversal vulnerability in the documentName parameter of the /safe/selfservice/openselfservicedocument endpoint. The application constructs a file path using attacker-controlle…

  • High 7.1

    Visual Studio Code Security Feature Bypass Vulnerability

    Improper input validation in Visual Studio Code allows an unauthorized attacker to bypass a security feature locally.

  • High 7.5

    Interinfo|DreamMaker - Arbitrary File Read

    DreamMaker developed by Interinfo has an Arbitrary File Read vulnerability, allowing unauthenticated local attackers to exploit Relative Path Traversal to download arbitrary system files.

  • High 7.5

    Nozomi Networks Labs identified a CWE-23: Relative Path Traversal (Zip Slip) in Waterfall WF-500 RX Host in version 7.9…