CVE-2026-72814
actix-files before 0.6.10 Information Disclosure via Files
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.3
actix-files before 0.6.10 Information Disclosure via Files
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
CVE-2026-72814- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-58629
6.3
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
EUVD-2026-58629- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-8v2v-wjwg-vx6r
6.3
actix-files has a possible exposure of information vulnerability
Summary
When passing a non-existing folder to the actix_files::Files::new() method causes the actix server to expose unexpected files.
Details
The actix-files library exposes a Files struct that configures an actix service to serve the files in a folder as static assets. Below you can find the signature of the Files::new method:
pub fn new<T: Into<PathBuf>>(mount_path: &str, serve_from: T) -> Files
When the mount_path you pass to Files doesn't exist, it defaults to an empty path (Path::new()). When the service receives a HTTP request, it joins the request information with the empty path and calls canonicalize. Rust resolves this path as relative and returns any file that matches it.
This behavior causes the library to expose unexpected files when the folder is not present.
PoC
There is a working PoC on https://github.com/Angelmmiguel/actix-files-vuln, although the next steps can be followed to reproduce the issue
-
Clone the https://github.com/actix/examples repository.
-
Change your directory to the
basics/static-filesfolder. -
Edit the
src/main.rsfile and change the line 13 to mount a non-existing folder:- .service(Files::new("/images", "static/images/").show_files_listing()) + .service(Files::new("/images", "static/missing/").show_files_listing()) -
Run the project with
cargo run. -
Access the http://localhost:8080/images/Cargo.toml URL.
Impact
This is an exposure of information vulnerability. It affects anyone using the actix-files::Files library that mounts a non-existing folder for any reason.
- Record
GHSA-8v2v-wjwg-vx6r- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f87p-3w4v-5q9x
6.3
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure...
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
GHSA-f87p-3w4v-5q9x- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
6.3
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
CVE-2026-72814- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV
6.3
actix-files before 0.6.10 Information Disclosure via Files
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
CVE-2026-72814- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-22
- Updated
- 2026-11-02
Show 4 moreShow less
OSVGHSA-8v2v-wjwg-vx6r
6.3
actix-files has a possible exposure of information vulnerability
Summary
When passing a non-existing folder to the actix_files::Files::new() method causes the actix server to expose unexpected files.
Details
The actix-files library exposes a Files struct that configures an actix service to serve the files in a folder as static assets. Below you can find the signature of the Files::new method:
pub fn new<T: Into<PathBuf>>(mount_path: &str, serve_from: T) -> Files
When the mount_path you pass to Files doesn't exist, it defaults to an empty path (Path::new()). When the service receives a HTTP request, it joins the request information with the empty path and calls canonicalize. Rust resolves this path as relative and returns any file that matches it.
This behavior causes the library to expose unexpected files when the folder is not present.
PoC
There is a working PoC on https://github.com/Angelmmiguel/actix-files-vuln, although the next steps can be followed to reproduce the issue
-
Clone the https://github.com/actix/examples repository.
-
Change your directory to the
basics/static-filesfolder. -
Edit the
src/main.rsfile and change the line 13 to mount a non-existing folder:- .service(Files::new("/images", "static/images/").show_files_listing()) + .service(Files::new("/images", "static/missing/").show_files_listing()) -
Run the project with
cargo run. -
Access the http://localhost:8080/images/Cargo.toml URL.
Impact
This is an exposure of information vulnerability. It affects anyone using the actix-files::Files library that mounts a non-existing folder for any reason.
- Record
GHSA-8v2v-wjwg-vx6r- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-72814
6.3
The actix-files crate (actix_files) before version 0.6.10 contains an information exposure vulnerability. When a non-existing folder is passed as the serve_from argument to Files::new(), the mount path defaults to an empty path; the service then joins the request path with this empty path and canonicalizes it, causing Rust to resolve it as a relative path. As a result, an attacker can request paths that resolve relative to the application's working directory and access unintended files.
- Record
UBUNTU-CVE-2026-72814- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21689-1 No score
Security update for gstreamer-devtools
This update for gstreamer-devtools fixes the following issues:
- CVE-2025-4574: crossbeam-channel: internal
Channeltype'sDropmethod has a race condition that can lead to a double-free and memory corruption (bsc#1243178). - CVE-2025-58160: tracing-subscriber: untrusted user input containing ANSI escape sequences can be injected into terminal output when logged and lead to terminal manipulation (bsc#1249015).
- CVE-2026-25541: bytes: integer overflow in
BytesMut:reservecan lead to undefined behavior and crashes (bsc#1274306). - CVE-2026-25727: time: parsing of user-provided input by the RFC 2822 date parser can lead to stack exhaustion (bsc#1257914).
- CVE-2026-72813: actix-files: empty
Rangeheader in GET requests for static files can lead to a process crash (bsc#1275210). - CVE-2026-72814: actix-files: non-existing folders passed as an argument to the
actix_files::Files::new()method can lead to information disclosure (bsc#1275209).
- Record
openSUSE-SU-2026:21689-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23572-1 No score
Security update for gstreamer-devtools
This update for gstreamer-devtools fixes the following issues:
- CVE-2025-4574: crossbeam-channel: internal
Channeltype'sDropmethod has a race condition that can lead to a double-free and memory corruption (bsc#1243178). - CVE-2025-58160: tracing-subscriber: untrusted user input containing ANSI escape sequences can be injected into terminal output when logged and lead to terminal manipulation (bsc#1249015).
- CVE-2026-25541: bytes: integer overflow in
BytesMut:reservecan lead to undefined behavior and crashes (bsc#1274306). - CVE-2026-25727: time: parsing of user-provided input by the RFC 2822 date parser can lead to stack exhaustion (bsc#1257914).
- CVE-2026-72813: actix-files: empty
Rangeheader in GET requests for static files can lead to a process crash (bsc#1275210). - CVE-2026-72814: actix-files: non-existing folders passed as an argument to the
actix_files::Files::new()method can lead to information disclosure (bsc#1275209).
- Record
SUSE-SU-2026:23572-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
actix-filescrates.io |
through 0.6.9 | 0.6.10 |
actix-filescrates.io |
before 0.6.10 | 0.6.10 |
gstreamer-devtoolsSUSE:Linux Enterprise Server 16.0 |
before 1.26.7-160000.2.1 | 1.26.7-160000.2.1 |
gstreamer-devtoolsSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 1.26.7-160000.2.1 | 1.26.7-160000.2.1 |
rust-actix-filesUbuntu:26.10 |
All versions, plus listed versions 0.6.10-1 |
None known |
gstreamer-devtoolsopenSUSE:Leap 16.0 |
before 1.26.7-160000.2.1 | 1.26.7-160000.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-72814 is a medium vulnerability (CVSS 6.3) in Actix Actix-files, published February 6, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 40th percentile. Fixed in actix-files 0.6.10.
References
github.com/actix/actix-web/security/advisories/GHSA-8v2v-wjwg-vx6r
vulncheck.com/advisories/actix-web-before-information-disclosure-via-files
github.com/actix/actix-web/blob/fba766b4beb92278665d58815c94d336015225c5/actix-files/src/files.rs
github.com/actix/actix-web/blob/fba766b4beb92278665d58815c94d336015225c5/actix-files/src/service.rs
github.com/advisories/GHSA-8v2v-wjwg-vx6r
nvd.nist.gov/vuln/detail/CVE-2026-72814
Show 18 moreShow less
github.com/advisories/GHSA-f87p-3w4v-5q9x
github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72814.json
github.com/actix/actix-web
suse.com/support/update/announcement/2026/suse-su-202623572-1
bugzilla.suse.com/1243178
bugzilla.suse.com/1249015
bugzilla.suse.com/1257914
bugzilla.suse.com/1274306
bugzilla.suse.com/1275209
bugzilla.suse.com/1275210
suse.com/security/cve/CVE-2025-4574
suse.com/security/cve/CVE-2025-58160
suse.com/security/cve/CVE-2026-25541
suse.com/security/cve/CVE-2026-25727
suse.com/security/cve/CVE-2026-72813
suse.com/security/cve/CVE-2026-72814
ubuntu.com/security/CVE-2026-72814
cve.org/CVERecord?id=CVE-2026-72814