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.
This allows attackers to traverse the file system to access files or directories that are outside of the restricted directory.
Threat Mapped score: 0.0
Industry: Finiancial
Threat priority: Unclassified
CVE: CVE-2024-37032
Large language model (LLM) management tool does not validate the format of a digest value (CWE-1287) from a private, untrusted model registry, enabling relative path traversal (CWE-23), a.k.a. Probllama
CVE: CVE-2022-45918
Chain: a learning management tool debugger uses external input to locate previous session logs (CWE-73) and does not properly validate the given path (CWE-20), allowing for filesystem path traversal using "../" sequences (CWE-24)
CVE: CVE-2019-20916
Python package manager does not correctly restrict the filename specified in a Content-Disposition header, allowing arbitrary file read using path traversal sequences such as "../"
CVE: CVE-2022-24877
directory traversal in Go-based Kubernetes operator app allows accessing data from the controller's pod file system via ../ sequences in a yaml file
CVE: CVE-2020-4053
a Kubernetes package manager written in Go allows malicious plugins to inject path traversal sequences into a plugin archive ("Zip slip") to copy a file outside the intended directory
CVE: CVE-2021-21972 — KEV
Chain: Cloud computing virtualization platform does not require authentication for upload of a tar format file (CWE-306), then uses .. path traversal sequences (CWE-23) in the file to access unexpected files, as exploited in the wild per CISA KEV.
CVE: CVE-2019-10743
Go-based archive library allows extraction of files to locations outside of the target folder with "../" path traversal sequences in filenames in a zip file, aka "Zip Slip"
CVE: CVE-2002-0298
Server allows remote attackers to cause a denial of service via certain HTTP GET requests containing a %2e%2e (encoded dot-dot), several "/../" sequences, or several "../" in a URI.
CVE: CVE-2002-0661
"\" not in denylist for web server, allowing path traversal attacks when the server is run in Windows and other OSes.
CVE: CVE-2002-0946
Arbitrary files may be read files via ..\ (dot dot) sequences in an HTTP request.
CVE: CVE-2002-1042
Directory traversal vulnerability in search engine for web server allows remote attackers to read arbitrary files via "..\" sequences in queries.
CVE: CVE-2002-1209
Directory traversal vulnerability in FTP server allows remote attackers to read arbitrary files via "..\" sequences in a GET request.
CVE: CVE-2002-1178
Directory traversal vulnerability in servlet allows remote attackers to execute arbitrary commands via "..\" sequences in an HTTP request.
CVE: CVE-2002-1987
Protection mechanism checks for "/.." but doesn't account for Windows-specific "\.." allowing read of arbitrary files.
CVE: CVE-2005-2142
Directory traversal vulnerability in FTP server allows remote authenticated attackers to list arbitrary directories via a "\.." sequence in an LS command.
CVE: CVE-2002-0160
The administration function in Access Control Server allows remote attackers to read HTML, Java class, and image files outside the web root via a "..\.." sequence in the URL to port 2002.
CVE: CVE-2001-0467
"\..." in web server
CVE: CVE-2001-0963
"..." in cd command in FTP server
CVE: CVE-2001-1193
"..." in cd command in FTP server
CVE: CVE-2001-1131
"..." in cd command in FTP server
CVE: CVE-2001-0480
read of arbitrary files and directories using GET or CD with "..." in Windows-based FTP server.
CVE: CVE-2002-0288
read files using "." and Unicode-encoded "/" or "\" characters in the URL.
CVE: CVE-2003-0313
Directory listing of web server using "..."
CVE: CVE-2005-1658
Triple dot
CVE: CVE-2000-0240
read files via "/........../" in URL
CVE: CVE-2000-0773
read files via "...." in web server
CVE: CVE-1999-1082
read files via "......" in web server (doubled triple dot?)
CVE: CVE-2004-2121
read files via "......" in web server (doubled triple dot?)
CVE: CVE-2001-0491
multiple attacks using "..", "...", and "...." in different commands
CVE: CVE-2001-0615
"..." or "...." in chat server
CVE: CVE-2005-2169
chain: ".../...//" bypasses protection mechanism using regexp's that remove "../" resulting in collapse into an unsafe value "../" (CWE-182) and resultant path traversal.
CVE: CVE-2005-0202
".../....///" bypasses regexp's that remove "./" and "../"
CVE: CVE-2004-1670
Mail server allows remote attackers to create arbitrary directories via a ".." or rename arbitrary files via a "....//" in user supplied parameters.
N/A
Phase | Note |
---|---|
Implementation | N/A |
Intro: The following URLs are vulnerable to this attack:
Body: A simple way to execute this attack is like this:
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
Intro: 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.
Body: While the programmer intends to access files such as "/users/cwe/profiles/alice" or "/users/cwe/profiles/bob", there is no verification of the incoming user parameter. An attacker could provide a string such as:
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";
Intro: The following code demonstrates the unrestricted upload of a file with a Java servlet and a path traversal vulnerability. The action attribute of an HTML form is sending the upload file request to the Java servlet.
Body: When submitted the Java servlet's doPost method will receive the request, extract the name of the file from the Http request header, read the file contents from the request and output the file to the local upload directory.
<form action="FileUploadServlet" method="post" enctype="multipart/form-data"> Choose a file to upload: <input type="file" name="filename"/> <br/> <input type="submit" name="submit" value="Submit"/> </form>