{"id":"CVE-2020-28247","aliases":["EUVD-2021-1888","GHSA-vc2p-r46x-m3vx","RUSTSEC-2020-0069"],"status":"published","title":"Argument injection in lettre","description":"The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01522,"percentile":0.74792,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-77"],"published":"2020-11-11T12:00:00Z","modified":"2026-10-20T10:53:03Z","fixes":[{"ecosystem":"crates.io","package":"lettre","fixed_in":["0.9.5","0.8.4","0.7.1","0.10.0-alpha.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.9.0"},{"fixed":"0.9.5"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.8.0"},{"fixed":"0.8.4"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.7.0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"SEMVER","events":[{"introduced":"0.9.0"},{"fixed":"0.9.5"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"SEMVER","events":[{"introduced":"0.8.0"},{"fixed":"0.8.4"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"SEMVER","events":[{"introduced":"0.7.0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lettre","ranges":[{"type":"SEMVER","events":[{"introduced":"0.7.0"},{"fixed":"0.7.1"},{"introduced":"0.8.0"},{"fixed":"0.8.4"},{"introduced":"0.9.0"},{"fixed":"0.9.5"},{"introduced":"0.10.0-alpha.1"},{"fixed":"0.10.0-alpha.4"}]}]}],"products":[{"vendor":"lettre","product":"lettre"}],"references":[{"url":"https://github.com/lettre/lettre","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","package"]},{"url":"https://github.com/RustSec/advisory-db/pull/478/files","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0069.html","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/lettre/lettre/security/advisories/GHSA-vc2p-r46x-m3vx","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-28247","tags":["advisory"]},{"url":"https://github.com/lettre/lettre/pull/508/commits/bbe7cc5381c5380b54fb8bbb4f77a3725917ff0b","tags":["web"]},{"url":"https://github.com/advisories/GHSA-vc2p-r46x-m3vx"},{"url":"https://crates.io/crates/lettre","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-28247","description":"The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs.","status":"published","published":"2020-11-12T18:03:45Z","modified":"2024-08-04T16:33:58.761Z","updated_at":"2026-11-02T14:35:57.017407Z"}],"euvd":[{"id":"EUVD-2021-1888","description":"The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs.","status":"published","published":"2020-11-12T18:03:45Z","modified":"2024-08-04T16:33:58Z","updated_at":"2026-11-03T03:07:10.123634Z"}],"ghsa":[{"id":"GHSA-vc2p-r46x-m3vx","title":"Argument injection in lettre","description":"### Impact\n\nAffected 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.\n\nDepending 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).\n\n*NOTE*: This vulnerability only affects the sendmail transport. Others, including smtp, are not affected.\n\n### Fix\n\nThe flaw is corrected by modifying the executed command to stop parsing arguments before passing the destination addresses.\n\n### References\n\n* [RUSTSEC-2020-0069](https://rustsec.org/advisories/RUSTSEC-2020-0069.html)\n* [CVE-2020-28247](https://nvd.nist.gov/vuln/detail/CVE-2020-28247)","status":"published","published":"2021-08-25T20:56:48Z","modified":"2023-06-13T17:41:46Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-77"],"updated_at":"2026-11-02T14:36:53.654352Z"}],"nvd":[{"id":"CVE-2020-28247","description":"The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs.","status":"published","published":"2020-11-12T18:15:15.737Z","modified":"2026-06-17T03:10:14.43Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:06:24.137599Z"}],"osv":[{"id":"CVE-2020-28247","description":"The lettre library through 0.10.0-alpha for Rust allows arbitrary sendmail option injection via transport/sendmail/mod.rs.","status":"published","published":"2020-11-12T18:15:15.737Z","modified":"2026-10-20T10:53:03.994554102Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:16.248747Z"},{"id":"GHSA-vc2p-r46x-m3vx","title":"Argument injection in lettre","description":"### Impact\n\nAffected 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.\n\nDepending 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).\n\n*NOTE*: This vulnerability only affects the sendmail transport. Others, including smtp, are not affected.\n\n### Fix\n\nThe flaw is corrected by modifying the executed command to stop parsing arguments before passing the destination addresses.\n\n### References\n\n* [RUSTSEC-2020-0069](https://rustsec.org/advisories/RUSTSEC-2020-0069.html)\n* [CVE-2020-28247](https://nvd.nist.gov/vuln/detail/CVE-2020-28247)","status":"published","published":"2021-08-25T20:56:48Z","modified":"2023-11-08T04:03:24.160094Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-77"],"updated_at":"2026-11-02T15:46:56.981655Z"},{"id":"RUSTSEC-2020-0069","title":"Argument injection in sendmail transport","description":"Affected versions of lettre allowed argument injection\nto the sendmail command. It was possible, using forged `to` addresses,\nto pass arbitrary arguments to the sendmail executable.\n\nDepending on the implementation (original sendmail, postfix, exim, etc.)\nit could be possible in some cases to write email data into arbitrary files (using sendmail's\nlogging features).\n \nThe flaw is corrected by modifying the executed command to stop parsing arguments\nbefore passing the destination addresses.\n\nNOTE: This vulnerability only affects the `sendmail` transport. Others, including `smtp`, are not\naffected.\n\nThis vulnerability was reported by vin01.","status":"published","published":"2020-11-11T12:00:00Z","modified":"2023-11-08T04:03:24.160094Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:39.492624Z"}]}}
