Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-23 (相对路径遍历) — Vulnerability Class 344

344 vulnerabilities classified as CWE-23 (相对路径遍历). AI Chinese analysis included.

CWE-23, Relative Path Traversal, is a critical input validation weakness where applications fail to properly sanitize user-supplied data before constructing file system paths. Attackers typically exploit this vulnerability by injecting directory traversal sequences, such as “../”, into input fields to manipulate the resulting pathname. This manipulation allows them to escape the intended restricted directory and access sensitive files located elsewhere on the server, potentially leading to unauthorized data disclosure or remote code execution. To mitigate this risk, developers must rigorously validate and neutralize all external inputs, ensuring they do not contain relative path components. Implementing strict allowlists for permitted characters, using canonicalization functions to resolve paths before access checks, and employing chroot jails or containerization to isolate file system access are essential defensive strategies that effectively prevent attackers from traversing outside the designated directory boundaries.

MITRE CWE Description
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.
Common Consequences (4)
Integrity, Confidentiality, AvailabilityExecute Unauthorized Code or Commands
The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.
IntegrityModify Files or Directories
The attacker may be able to overwrite or create critical files, such as programs, libraries, or important data. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mechanism. For example, appending a new account at the end of a password file may allow …
ConfidentialityRead Files or Directories
The attacker may be able read the contents of unexpected files and expose sensitive data by traversing the file system to access files or directories that are outside of the restricted directory. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mech…
AvailabilityDoS: Crash, Exit, or Restart
The attacker may be able to overwrite, delete, or corrupt unexpected critical files such as programs, libraries, or important data. This may prevent the product from working at all and in the case of a protection mechanisms such as authentication, it has the potential to lockout every user of the pr…
Mitigations (3)
ImplementationAssume 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…
ImplementationInputs 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(…
OperationUse 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].
Effectiveness: Moderate
Examples (2)
The following URLs are vulnerable to this attack:
http://example.com/get-files.jsp?file=report.pdf http://example.com/get-page.php?home=aaa.html http://example.com/some-page.asp?page=index.html
Bad · Other
http://example.com/get-files?file=../../../../somedir/somefile http://example.com/../../../../etc/shadow http://example.com/get-files?file=../../../../etc/passwd
Attack · Other
The following code could be for a social networking application in which each user's profile information is stored in a separate file. All files are stored in a single directory.
my $dataPath = "/users/cwe/profiles"; my $username = param("user"); my $profilePath = $dataPath . "/" . $username; open(my $fh, "<", $profilePath) || ExitError("profile read error: $profilePath"); print "<ul>\n"; while (<$fh>) { print "<li>$_</li>\n"; } print "</ul>\n";
Bad · Perl
../../../etc/passwd
Attack
CVE IDTitleCVSSSeverityPublished
CVE-2019-11822 Synology Photo Station 路径遍历漏洞 — Photo Station 4.3 Medium2019-06-30
CVE-2019-11826 Synology Moments 路径遍历漏洞 — Photo Moments 8.0 High2019-06-30
CVE-2019-3943 MikroTik RouterOS 路径遍历漏洞 — RouterOS 8.1 -2019-04-10
CVE-2018-13299 Synology Calendar 路径遍历漏洞 — Calendar 8.1 -2019-04-01
CVE-2018-18990 LCDS LAquis SCADA 路径遍历漏洞 — LCDS Laquis SCADA 4.3 -2019-02-05
CVE-2018-12473 path traversal in obs-service-tar_scm — Open Build Service 7.5 -2018-10-02
CVE-2018-14795 Emerson Electric Deltav 路径遍历漏洞 — DeltaV 8.8 -2018-08-21
CVE-2018-10615 GE MDS PulseNET和MDS PulseNET Enterprise 路径遍历漏洞 — MDS PulseNET and MDS PulseNET Enterprise 8.1 -2018-06-04
CVE-2017-9664 ABB SREA-01和SREA-50 路径遍历漏洞 — ABB SREA-01 and SREA-50 9.1 -2018-05-24
CVE-2018-5448 Medtronic 2090 Carelink Programmer Relative Path Traversal — 2090 CareLink Programmer 4.8 Medium2018-05-04
CVE-2017-0918 GitLab Community Edition GitLab CI runner组件路径遍历漏洞 — GitLab Community and Enterprise Editions 8.8 -2018-03-21
CVE-2017-13996 LOYTEC LVIS-3ME 路径遍历漏洞 — LOYTEC LVIS-3ME 8.8 -2017-10-05
CVE-2012-6069 3S CoDeSys Relative Path Traversal — CODESYS Control Runtime embedded 10.0 Critical2013-01-21
CVE-2012-5972 SpecView Directory Traversal — SpecView 7.5 -2013-01-17

Vulnerabilities classified as CWE-23 (相对路径遍历) represent 344 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.