Affected versions of this crate did not properly check for recursion while deserializing aliases.
This allows an attacker to make a YAML file with an alias referring to itself causing an abort.
The flaw was corrected by checking the recursion depth.
This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.
cloudflare(16 total, 9 outdated, 3 possibly insecure)
| Crate | Required | Latest | Status |
|---|---|---|---|
| chrono ⚠️ | ^0.4 | 0.4.42 | maybe insecure |
| clap | ^2.33 | 4.5.50 | out of date |
| http ⚠️ | ^0.1.18 | 1.3.1 | out of date |
| maplit | ^1.0 | 1.0.2 | up to date |
| percent-encoding | ^1.0.1 | 2.3.2 | out of date |
| reqwest | ^0.9 | 0.12.24 | out of date |
| serde | ^1.0 | 1.0.228 | up to date |
| serde_derive | ^1.0 | 1.0.228 | up to date |
| serde_json | ^1.0 | 1.0.145 | up to date |
| serde_qs | ^0.4 | 0.15.0 | out of date |
| serde_with | ^1.3.1 | 3.15.1 | out of date |
| serde_yaml ⚠️ | ^0.8 | 0.9.34+deprecated | out of date |
| slog | ^2.4 | 2.8.2 | up to date |
| slog-term | ^2.4 | 2.9.2 | up to date |
| sloggers | ^0.3 | 2.2.0 | out of date |
| url | ^1.7 | 2.5.7 | out of date |
serde_yaml: Uncontrolled recursion leads to abort in deserializationAffected versions of this crate did not properly check for recursion while deserializing aliases.
This allows an attacker to make a YAML file with an alias referring to itself causing an abort.
The flaw was corrected by checking the recursion depth.
http: Integer Overflow in HeaderMap::reserve() can cause Denial of ServiceHeaderMap::reserve() used usize::next_power_of_two() to calculate the increased capacity.
However, next_power_of_two() silently overflows to 0 if given a sufficiently large number
in release mode.
If the map was not empty when the overflow happens,
the library will invoke self.grow(0) and start infinite probing.
This allows an attacker who controls the argument to reserve()
to cause a potential denial of service (DoS).
The flaw was corrected in 0.1.20 release of http crate.
http: HeaderMap::Drain API is unsoundAffected versions of this crate incorrectly used raw pointer, which introduced unsoundness in its public safe API.
Failing to drop the Drain struct causes double-free, and it is possible to violate Rust's alias rule and cause data race with Drain's Iterator implementation.
The flaw was corrected in 0.1.20 release of http crate.
chrono: Potential segfault in `localtime_r` invocationsUnix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.
No workarounds are known.