Affected versions of the crate incremented the current index of the drain filter
iterator before calling the predicate function self.pred
.
If the predicate function panics, it is possible for the last element in the iterator to be dropped twice.
pgn-reader 0.15.0
This project contains known security vulnerabilities. Find detailed information at the bottom.
pgn-reader
(4 total, 2 outdated, 1 insecure)
Crate | Required | Latest | Status |
---|---|---|---|
btoi | ^0.4 | 0.4.3 | up to date |
memchr | ^2.1 | 2.7.2 | up to date |
shakmaty | ^0.15 | 0.27.0 | out of date |
slice-deque ⚠️ | ^0.2 | 0.3.0 | insecure |
(5 total, 2 outdated, 1 possibly insecure)
Crate | Required | Latest | Status |
---|---|---|---|
bzip2 ⚠️ | ^0.3 | 0.4.4 | out of date |
crossbeam | ^0.7 | 0.8.4 | out of date |
flate2 | ^1.0 | 1.0.28 | up to date |
lz4 | ^1.23 | 1.24.0 | up to date |
xz2 | ^0.1 | 0.1.7 | up to date |
slice-deque
: SliceDeque::drain_filter can double drop an element if the predicate panicsAffected versions of the crate incremented the current index of the drain filter
iterator before calling the predicate function self.pred
.
If the predicate function panics, it is possible for the last element in the iterator to be dropped twice.
bzip2
: bzip2 Denial of Service (DoS)Working with specific payloads can cause a Denial of Service (DoS) vector.
Both Decompress
and Compress
implementations can enter into infinite loops
given specific payloads entered that trigger it.
The issue is described in great detail in the bzip2 repository issue.
Thanks to bjrjk for finding and providing the patch for the issue and the maintainer responsibly responding to release a fix quickly.
Users who use the crate with untrusted data should update the bzip2
to 0.4.4.