Skip to main content

CWE-23: Relative Path Traversal

BaseDraft

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.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple

Applicable To

Languages
Not Language-Specific
Platforms

Frequently Asked Questions

What is CWE-23: Relative Path Traversal?+

CWE-23: Relative Path Traversal is a Common Weakness Enumeration (CWE) entry maintained by MITRE. 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.

What are the security consequences of Relative Path Traversal?+

If exploited, CWE-23 (Relative Path Traversal) it can compromise Integrity, Confidentiality and Availability, leading to outcomes such as Execute Unauthorized Code or Commands, Modify Files or Directories, Read Files or Directories and DoS: Crash, Exit, or Restart.

Which programming languages are affected by Relative Path Traversal?+

CWE-23 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Relative Path Traversal?+

MITRE documents real CVEs mapped to CWE-23, including CVE-2024-37032, CVE-2024-0520, CVE-2022-45918, CVE-2019-20916 and CVE-2022-24877. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-23 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More