GitHub Advisoryadvisory · crates.io
GHSA-vc2p-r46x-m3vx Argument injection in lettre
MEDIUM
Official page ↗
- Aliases
- CVE-2020-28247
- Ecosystem
- crates.io
- Packages
- lettre
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-77
- Reviewed
- 2021-08-18
Affected packages
• crates.io lettre: >= 0.9.0, < 0.9.5 → fixed in 0.9.5
• crates.io lettre: >= 0.8.0, < 0.8.4 → fixed in 0.8.4
• crates.io lettre: >= 0.7.0, < 0.7.1 → fixed in 0.7.1
Description
Impact
Affected versions of lettre allowed argument injection to the sendmail command. It was possible, using forged to addresses, to pass arbitrary arguments to the sendmail executable.
Depending on the implementation (original sendmail, postfix, exim, etc.) it could be possible in some cases to write email data into abritrary files (using sendmail's logging features).
*NOTE*: This vulnerability only affects the sendmail transport. Others, including smtp, are not affected.
Fix
The flaw is corrected by modifying the executed command to stop parsing arguments before passing the destination addresses.
References
• RUSTSEC-2020-0069
• CVE-2020-28247
Related
Alias · CVE (1)
- CVE-2020-28247 The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs. vulnerability
Weakness · CWE (1)
- CWE-77 Improper Neutralization of Special Elements used in a Command weakness
References
- https://github.com/lettre/lettre/security/advisories/GHSA-vc2p-r46x-m3vx web
- https://nvd.nist.gov/vuln/detail/CVE-2020-28247 advisory
- https://github.com/RustSec/advisory-db/pull/478/files web
- https://github.com/lettre/lettre/pull/508/commits/bbe7cc5381c5380b54fb8bbb4f77a3725917ff0b web
- https://github.com/lettre/lettre package
- https://rustsec.org/advisories/RUSTSEC-2020-0069.html web