Skip to content

Denial of service in CBOR library

High severity GitHub Reviewed Published Jan 17, 2022 in peteroupc/CBOR-Java • Updated Jan 11, 2023

Package

maven com.upokecenter:cbor (Maven)

Affected versions

>= 4.0.0, < 4.5.1

Patched versions

4.5.1

Description

Impact

Due to this library's use of an inefficient algorithm, it is vulnerable to a denial of service attack when a maliciously crafted input is passed to DecodeFromBytes or other CBOR decoding mechanisms in this library.

Affected versions include versions 4.0.0 through 4.5.0.

This vulnerability was privately reported to me.

Patches

This issue has been fixed in version 4.5.1. Users should use the latest version of this library. (The latest version is not necessarily 4.5.1. Check the README for this library's repository to see the latest version's version number.)

Workarounds

Again, users should use the latest version of this library.

In the meantime, note that the inputs affected by this issue are all CBOR maps or contain CBOR maps. An input that decodes to a single CBOR object is not capable of containing a CBOR map if—

  • it begins with a byte other than 0x80 through 0xDF, or
  • it does not contain a byte in the range 0xa0 through 0xBF.

Such an input is not affected by this vulnerability and an application can choose to perform this check before passing it to a CBOR decoding mechanism.

For more information

If you have any questions or comments about this advisory:

References

@peteroupc peteroupc published to peteroupc/CBOR-Java Jan 17, 2022
Reviewed Jan 19, 2022
Published to the GitHub Advisory Database Jan 21, 2022
Last updated Jan 11, 2023

Severity

High

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-fj2w-wfgv-mwq6

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.