🛡️ CVE-2021-45712 — rust-embed

🟠 CVSS 8.0 — High ✅ No Known Exploit CWE-22 OSV
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

RustEmbed generated get method allows for directory traversal when reading files from disk

When running in debug mode and the debug-embed (off by default) feature is

not enabled, the generated get method does not check that the input path is

a child of the folder given.

This allows attackers to read arbitrary files in the file system if they have

control over the filename given. The following code will print the contents of

your /etc/passwd if adjusted with a correct number of ../s depending on

where it is run from.

```rust

#[derive(rust_embed::RustEmbed)]

#[folder = "src/"]

pub struct Asset;

fn main() {

let d = Asset::get("../../../etc/passwd").unwrap().data;

println!("{}", String::from_utf8_lossy(&d));

}

```

The flaw was corrected by canonicalizing the input filename and ensuring that

it starts with the canonicalized folder path.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity none, availability none.

Weakness class

CVE-2021-45712 is classified as CWE-22: Path Traversal. A file path built from user input is not confined to the intended directory, letting an attacker reach files elsewhere on the filesystem.

Affected software

CVE-2021-45712 is recorded against 1 package.

  • rust-embed

Timeline and source

Published on 17 June 2022 and last revised on 8 November 2023. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

github.com (Web)
github.com (Package)
rustsec.org (Web)

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CWE CWE-22
Public Exploit ✅ No
Source OSV
Published 2022-06-17
Updated 2026-08-12
Modified 2023-11-08
Fix URL N/A

Affected Packages

Software From version Fixed in
rust-embed

Site Security Check

Is rust-embed part of your stack?

CVE-2021-45712 is rated CVSS 8.0 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.