Cyber Resilience

CVE-2025-64076

Memory Safety in Agronholm Cbor2 ≤ 5.7.0

Public PoCMemory Safety
Published
18 November 2025
Modified
31 December 2025
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0047 38th percentile
Risk Priority 57 floored blend · peak EPSS

Summary

CVE-2025-64076 is a high-severity Wrap or Wraparound (CWE-191) vulnerability in Agronholm Cbor2. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 38th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1210 Exploitation of Remote Services Lateral Movement
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network.
T1212 Exploitation for Credential Access Credential Access
Adversaries may exploit software vulnerabilities in an attempt to collect credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-68131Same product: Agronholm Cbor2
CVE-2026-26209Same product: Agronholm Cbor2
CVE-2024-26134Same product: Agronholm Cbor2
CVE-2024-23313Shared CWE-191
CVE-2025-47128Shared CWE-191
CVE-2025-43546Shared CWE-191
CVE-2024-53954Shared CWE-191
CVE-2024-43867Shared CWE-191
CVE-2025-3947Shared CWE-191
CVE-2023-28250Shared CWE-191

Affected Assets

agronholm
cbor2
≤ 5.7.0

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and static/dynamic analysis directly find integer underflow defects before code is released.

Security engineering principles require use of safe arithmetic constructs or language features that structurally eliminate integer underflow during subtraction.

Input validation can reject or sanitize values that would cause a subtraction to underflow the representable range.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 full match
prevents

Secure SDLC practices directly prevent integer underflow defects via input validation, bounds checking, and static analysis.

ID.RA-01 partial match
prevents

Vulnerability scanning and code analysis can surface underflow flaws after they are introduced.

PR.PS-02 partial match
prevents

Routine patching can remediate known underflow bugs once they are discovered in deployed software.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches integer underflow defects before release.

prevents

Secure development lifecycle mandates input validation and arithmetic checks that prevent integer underflow.

prevents

Application security requirements include bounds checking and safe arithmetic to avoid underflow conditions.

prevents

Secure architecture principles require defensive coding patterns that mitigate integer wraparound risks.

prevents

Secure coding standards directly prescribe safe integer handling and overflow/underflow prevention.

References