Affected versions of this crate did not prevent deep recursion while deserializing data structures.
This allows an attacker to make a YAML file with deeply nested structures that causes an abort while deserializing it.
The flaw was corrected by checking the recursion depth.
Note: clap 2.33
is not affected by this because it uses yaml-rust
in a way that doesn't trigger the vulnerability. More specifically:
The input to the YAML parser is always trusted - is included at compile
time via include_str!
.
The nesting level is never deep enough to trigger the overflow in practice (at most 5).
{ "license": "CC0-1.0" }