Releases: NLnetLabs/bcder
Releases · NLnetLabs/bcder
0.7.4
0.7.3
This release fixes a number of decoding issues that can lead to panics on invalid input data. They have been assigned CVE-2023-39914.
Bug fixes
- Fixes various decoding that lead to a panic on invalid data.
Specifically:- error out rather than panic when a nested value has a greater length than allowed by the outer value,
- check that there is enough data available before skipping over a primitive value’s content,
- check that enough data is available before trying to parse a tag value,
- check for correct encoding of bit strings: don’t allow the number of unused bits to be greater than 7 and that they are zero for an empty bit string,
- check for correct encoding of object identifiers: they cannot be empty and the last byte must have bit 7 cleared.
0.7.2
0.7.1
0.7.0
Breaking Changes
- Redesign error handling in
decode
module (#65):- three error types,
Source::Error
,ContentError
, andDecodeError
, for data fetching errors, syntax errors, and a combination of these,
respectively; - new trait
IntoSource
to convert a type into itsSource
implementation; Source::advance
now panics if advancing past the end of seen data.
- three error types,
0.6.1
0.6.0
0.5.1
0.5.0
Breaking
- Move extending a
Captured
to an explicitCapturedBuilder
. This becomes necessary with bytes 0.5. Both these types now reside in the modulecaptured
withCaptured
re-exported at crate level. (#46, #47)
Dependencies
- Upgrade bytes to 0.5. (#43, thanks to @Fabian-Gruenbichler)
- Upgrade smallvec to 1.1. (#48)