{"id":"RUSTSEC-2021-0041","summary":"Denial of service through parsing payloads with too big exponent","details":"The `parse_duration::parse` function allows for parsing duration strings with exponents like `5e5s` where under the hood, the [`BigInt` type along with the `pow` function are used for such payloads](https://github.com/zeta12ti/parse_duration/blob/26940ab5cd4e3a9d6bd97aa101f8d4bbfd18ee8c/src/parse.rs#L335). Passing an arbitrarily big exponent makes the `parse_duration::parse` function to process the payload for a very long time taking up CPU and memory.\n\nThis allows an attacker to cause a DoS if the `parse_duration::parse` function is used to process untrusted input.","aliases":["CAN-2021-1000007","CVE-2021-29932","GHSA-qpgv-g792-wh6x"],"modified":"2023-11-08T03:56:44.037848Z","published":"2021-03-18T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/parse_duration"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2021-0041.html"},{"type":"REPORT","url":"https://github.com/zeta12ti/parse_duration/issues/21"}],"affected":[{"package":{"name":"parse_duration","ecosystem":"crates.io","purl":"pkg:cargo/parse_duration"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}],"ecosystem_specific":{"affects":{"functions":["parse_duration::parse"],"arch":[],"os":[]},"affected_functions":null},"database_specific":{"categories":["denial-of-service"],"informational":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0041.json","cvss":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}