CVE-2024-26134
CBOR2 decoder has potential buffer overflow
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
CBOR2 decoder has potential buffer overflow
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
CVE-2024-26134- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-120
- Updated
- 2026-11-02
EUVDEUVD-2024-0204
7.5
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
EUVD-2024-0204- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-375g-39jq-vq7m
7.5
Potential buffer overflow in CBOR2 decoder
Summary
Ever since https://github.com/agronholm/cbor2/pull/204 (or specifically https://github.com/agronholm/cbor2/commit/387755eacf0be35591a478d3c67fe10618a6d542) was merged, I can create a reproducible crash when running the snippet under PoC on a current Debian bullseye aarm64 on a Raspberry Pi 3 (I was not able to reproduce this on my x86_64 Laptop with Python 3.11; I suspect because there is enough memory to allocate still)
Details
PoC
import json
import concurrent.futures
import cbor2
def test():
obj = "x" * 131128
cbor_enc = cbor2.dumps(obj)
return cbor2.loads(cbor_enc)
with concurrent.futures.ProcessPoolExecutor() as executor:
future = executor.submit(test)
print(future.result())
malloc(): unsorted double linked list corrupted
Traceback (most recent call last):
File "test.py", line 14, in <module>
print(future.result())
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 440, in result
return self.__get_result()
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 389, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
If one calls it without the indirection via the pool executor, a SystemError is shown that hides the buffer overflow.
import json
import cbor2
def test():
obj = "x" * 131128
cbor_enc = cbor2.dumps(obj)
return cbor2.loads(cbor_enc)
print(test())
Traceback (most recent call last):
File "test.py", line 12, in <module>
print(test())
File "test.py", line 9, in test
return cbor2.loads(cbor_enc)
SystemError: <built-in function loads> returned NULL without setting an error
Impact
An attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object.
- Record
GHSA-375g-39jq-vq7m- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-120
- Updated
- 2026-11-02
NVD
7.5
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
CVE-2024-26134- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-120
- Updated
- 2026-11-02
OSV
7.5
CBOR2 decoder has potential buffer overflow
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
CVE-2024-26134- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-120
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-26134
7.5
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
DEBIAN-CVE-2024-26134- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-375g-39jq-vq7m
7.5
Potential buffer overflow in CBOR2 decoder
Summary
Ever since https://github.com/agronholm/cbor2/pull/204 (or specifically https://github.com/agronholm/cbor2/commit/387755eacf0be35591a478d3c67fe10618a6d542) was merged, I can create a reproducible crash when running the snippet under PoC on a current Debian bullseye aarm64 on a Raspberry Pi 3 (I was not able to reproduce this on my x86_64 Laptop with Python 3.11; I suspect because there is enough memory to allocate still)
Details
PoC
import json
import concurrent.futures
import cbor2
def test():
obj = "x" * 131128
cbor_enc = cbor2.dumps(obj)
return cbor2.loads(cbor_enc)
with concurrent.futures.ProcessPoolExecutor() as executor:
future = executor.submit(test)
print(future.result())
malloc(): unsorted double linked list corrupted
Traceback (most recent call last):
File "test.py", line 14, in <module>
print(future.result())
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 440, in result
return self.__get_result()
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 389, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
If one calls it without the indirection via the pool executor, a SystemError is shown that hides the buffer overflow.
import json
import cbor2
def test():
obj = "x" * 131128
cbor_enc = cbor2.dumps(obj)
return cbor2.loads(cbor_enc)
print(test())
Traceback (most recent call last):
File "test.py", line 12, in <module>
print(test())
File "test.py", line 9, in test
return cbor2.loads(cbor_enc)
SystemError: <built-in function loads> returned NULL without setting an error
Impact
An attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object.
- Record
GHSA-375g-39jq-vq7m- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-120
- Updated
- 2026-11-02
OSVPYSEC-2024-155
7.5
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
PYSEC-2024-155- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-26134
7.5
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 8949) serialization format. Starting in version 5.5.1 and prior to version 5.6.2, an attacker can crash a service using cbor2 to parse a CBOR binary by sending a long enough object. Version 5.6.2 contains a patch for this issue.
- Record
UBUNTU-CVE-2024-26134- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14733-1 No score
python311-cbor2-5.6.5-2.1 on GA media
These are all security issues fixed in the python311-cbor2-5.6.5-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14733-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:20133-1 No score
Security update for python-cbor2
This update for python-cbor2 fixes the following issues:
- CVE-2025-64076: Fixed bug in decode_definite_long_string() that causes incorrect chunk length calculation (bsc#1253746).
Already fixed in release 5.6.3:
- CVE-2024-26134: Fixed potential crash when hashing a CBORTag (bsc#1220096).
- Record
openSUSE-SU-2025:20133-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:21168-1 No score
Security update for python-cbor2
This update for python-cbor2 fixes the following issues:
- CVE-2025-64076: Fixed bug in decode_definite_long_string() that causes incorrect chunk length calculation (bsc#1253746).
Already fixed in release 5.6.3:
- CVE-2024-26134: Fixed potential crash when hashing a CBORTag (bsc#1220096).
- Record
SUSE-SU-2025:21168-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cbor2PyPI |
5.5.1 up to 5.6.2 | 5.6.2 |
cbor2Debian:13 |
before 5.6.2-1 | 5.6.2-1 |
cbor2Debian:14 |
before 5.6.2-1 | 5.6.2-1 |
cbor2PyPI |
5.5.1 up to 5.6.2, plus listed versions 5.6.05.6.1 |
5.6.2 |
cbor2PyPI |
5.5.1 up to 5.6.2, plus listed versions 5.6.05.6.15.5.05.4.65.4.5 Show 27 moreShow less5.4.45.4.35.4.2.post15.2.05.4.25.4.15.4.05.3.05.1.25.1.15.1.05.0.15.0.04.2.04.1.24.1.14.1.04.0.14.0.03.0.43.0.33.0.23.0.13.0.02.0.01.1.01.0.0 |
5.6.2 |
python-cbor2SUSE:Linux Enterprise Server 16.0 From an advisory covering 2 CVEs |
before 5.6.5-160000.3.1 | 5.6.5-160000.3.1 |
python-cbor2SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 2 CVEs |
before 5.6.5-160000.3.1 | 5.6.5-160000.3.1 |
cbor2Ubuntu:22.04:LTS |
All versions, plus listed versions 5.2.0-45.2.0-4build15.4.2-15.4.2-1build1 |
None known |
cbor2Ubuntu:24.04:LTS |
All versions, plus listed versions 5.4.6-25.4.6-2build15.5.1-15.6.0-15.6.1-15.6.2-15.6.2-1build1 |
None known |
cbor2Ubuntu:25.10 |
All versions, plus listed versions 5.6.5-1build1 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
cbor2Ubuntu:26.10 |
All versions, plus listed versions 5.8.0-2ubuntu16.1.2-2 |
None known |
cbor2Ubuntu:26.04:LTS |
All versions, plus listed versions 5.6.5-1build15.7.0-15.7.1-15.8.0-15.8.0-2ubuntu1 |
None known |
python-cbor2openSUSE:Tumbleweed |
before 5.6.5-2.1 | 5.6.5-2.1 |
python-cbor2openSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 5.6.5-160000.3.1 | 5.6.5-160000.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-26134 is a high vulnerability (CVSS 7.5) in Agronholm Cbor2, published February 19, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.17%, the 67th percentile. Fixed in cbor2 5.6.2.
References
github.com/agronholm/cbor2/security/advisories/GHSA-375g-39jq-vq7m
github.com/agronholm/cbor2/pull/204
github.com/agronholm/cbor2/commit/387755eacf0be35591a478d3c67fe10618a6d542
github.com/agronholm/cbor2/commit/4de6991ba29bf2290d7b9d83525eda7d021873df
github.com/agronholm/cbor2/releases/tag/5.6.2
lists.fedoraproject.org/archives/list/[email protected]/message/GX524ZG2XJWFV37UQKQ4LWIH4UICSGEQ
Show 16 moreShow less
lists.fedoraproject.org/archives/list/[email protected]/message/BT42VXZMMMCSSHMA65KKPOZCXJEYHNR5
lists.fedoraproject.org/archives/list/[email protected]/message/PWC3VU6YV6EXKCSX5GTKWLBZIDIJNQJY
nvd.nist.gov/vuln/detail/CVE-2024-26134
github.com/pypa/advisory-database/tree/main/vulns/cbor2/PYSEC-2024-155.yaml
github.com/advisories/GHSA-375g-39jq-vq7m
github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26134.json
security-tracker.debian.org/tracker/CVE-2024-26134
github.com/agronholm/cbor2
suse.com/support/update/announcement/2025/suse-su-202521168-1
bugzilla.suse.com/1220096
bugzilla.suse.com/1253746
suse.com/security/cve/CVE-2024-26134
suse.com/security/cve/CVE-2025-64076
ubuntu.com/security/CVE-2024-26134
cve.org/CVERecord?id=CVE-2024-26134
lists.opensuse.org/archives/list/[email protected]/thread/3J6INDULK4UFE4EESVOPROBMFBKXOAXS