CVE-2025-64076
CVE-2025-64076 is a high-severity vulnerability in Agronholm Cbor2 with a CVSS 3.x base score of 7.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-191.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- EPSS exploit prediction: 0% (34th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2025-198054
- Weakness: CWE-191
- Affected product: Agronholm Cbor2
- Published:
- Last modified:
Description
Multiple vulnerabilities exist in cbor2 through version 5.7.0 in the decode_definite_long_string() function of the C extension decoder (source/decoder.c): (1) Integer Underflow Leading to Out-of-Bounds Read (CWE-191, CWE-125): An incorrect variable reference and missing state reset in the chunk processing loop causes buffer_length to not be reset to zero after UTF-8 character consumption. This results in subsequent chunk_length calculations producing negative values (e.g., chunk_length = 65536 - buffer_length), which are passed as signed integers to the read() method, potentially triggering unlimited read operations and resource exhaustion. (2) Memory Leak via Missing Reference Count Release (CWE-401): The main processing loop fails to release Python object references (Py_DECREF) for chunk objects allocated in each iteration. For CBOR strings longer than 65536 bytes, this causes cumulative memory leaks proportional to the payload size, enabling memory exhaustion attacks through repeated processing of large CBOR payloads. Both vulnerabilities can be exploited remotely without authentication by sending specially-crafted CBOR data containing definite-length text strings with multi-byte UTF-8 characters positioned at 65536-byte chunk boundaries. Successful exploitation results in denial of service through process crashes (CBORDecodeEOF exceptions) or memory exhaustion. The vulnerabilities affect all applications using cbor2's C extension to process untrusted CBOR data, including web APIs, IoT data collectors, and message queue processors. Fixed in commit 851473490281f82d82560b2368284ef33cf6e8f9 pushed with released version 5.7.1.
Frequently asked questions
- What is CVE-2025-64076?
- Multiple vulnerabilities exist in cbor2 through version 5.7.0 in the decode_definite_long_string() function of the C extension decoder (source/decoder.c): (1) Integer Underflow Leading to Out-of-Bounds Read (CWE-191, CWE-125): An incorrect variable reference and missing state reset in the chunk processing loop causes buffer_length to not be reset to zero after UTF-8 character consumption. This results in subsequent chunk_length calculations producing negative values (e.g., chunk_length = 65536 - buffer_length), which are passed as signed integers to the read() method, potentially triggering unlimited read operations and resource exhaustion. (2) Memory Leak via Missing Reference Count Release (CWE-401): The main processing loop fails to release Python object references (Py_DECREF) for chunk objects allocated in each iteration. For CBOR strings longer than 65536 bytes, this causes cumulative memory leaks proportional to the payload size, enabling memory exhaustion attacks through repeated processing of large CBOR payloads. Both vulnerabilities can be exploited remotely without authentication by sending specially-crafted CBOR data containing definite-length text strings with multi-byte UTF-8 characters positioned at 65536-byte chunk boundaries. Successful exploitation results in denial of service through process crashes (CBORDecodeEOF exceptions) or memory exhaustion. The vulnerabilities affect all applications using cbor2's C extension to process untrusted CBOR data, including web APIs, IoT data collectors, and message queue processors. Fixed in commit 851473490281f82d82560b2368284ef33cf6e8f9 pushed with released version 5.7.1.
- How severe is CVE-2025-64076?
- CVE-2025-64076 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity none, and availability high.
- Is CVE-2025-64076 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (34th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2025-64076?
- CVE-2025-64076 affects Agronholm Cbor2. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2025-64076?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2025-64076 have an EU (EUVD) identifier?
- Yes. CVE-2025-64076 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-198054.
- When was CVE-2025-64076 published?
- CVE-2025-64076 was published on 2025-11-18 and last updated on 2026-06-17.
References
- https://github.com/agronholm/cbor2/commit/851473490281f82d82560b2368284ef33cf6e8f9
- https://github.com/agronholm/cbor2/issues/264
- https://github.com/agronholm/cbor2/pull/265
Affected products (1)
- cpe:2.3:a:agronholm:cbor2:*:*:*:*:*:python:*:*
More vulnerabilities in Agronholm Cbor2
- CVE-2026-26209 — High (CVSS 7.5): cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) serialization format. Versions…
- CVE-2025-68131 — High (CVSS 7.5): cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) serialization format. Starting…
- CVE-2024-26134 — High (CVSS 7.5): cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization…
All CVEs affecting Agronholm Cbor2 →
Other CWE-191 (Integer Underflow) vulnerabilities
- CVE-2007-0063 — Critical (CVSS 10.0): Integer underflow in the DHCP server in EMC VMware Workstation before 5.5.5 Build 56455 and 6.x before 6.0.1 Build…
- CVE-2026-53176 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: IB/isert: Reject login PDUs shorter than…
- CVE-2026-37534 — Critical (CVSS 9.8): Integer underflow vulnerability in Open-SAE-J1939 thru commit b6caf884df46435e539b1ecbf92b6c29b345bdfe (2025-11-30) in…
- CVE-2025-52471 — Critical (CVSS 9.8): ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. An integer underflow vulnerability has been…
- CVE-2025-29909 — Critical (CVSS 9.8): CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures…
- CVE-2024-47606 — Critical (CVSS 9.8): GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in…