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
References
- https://github.com/lettre/lettre/security/advisories/GHSA-vc2p-r46x-m3vx
- https://nvd.nist.gov/vuln/detail/CVE-2020-28247
- https://github.com/RustSec/advisory-db/pull/478/files
- https://github.com/lettre/lettre/pull/508/commits/bbe7cc5381c5380b54fb8bbb4f77a3725917ff0b
- https://rustsec.org/advisories/RUSTSEC-2020-0069.html
- https://github.com/advisories/GHSA-vc2p-r46x-m3vx