{"id":"CVE-2026-114613","kind":"vulnerability","aliases":["CVE-2026-114613"],"related":[],"title":"msgpack-python: rejected map keys leak memory, enabling denial of service","description":"MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected. The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.","summary":"Prior to 1.2.3, the msgpack-python C extension leaks a decoded map value when strict_map_key=True rejects a key, which is the default. Repeated malformed MessagePack input makes process memory grow without bound, causing denial of service in applications that deserialize attacker-controlled data.","severity":"high","cvss":7.5,"epss":0.00339,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["api-servers","msgpack","package","python"],"not_affected_if":["pure-python-fallback","trusted-input-only"],"how_to_check":"- Run `python -c \"import msgpack; print(msgpack.version)\"` and compare against `1.2.3`\n- Check lockfiles (requirements.txt, poetry.lock, uv.lock) for the msgpack pin\n- Confirm whether the C extension is in use: `python -c \"import msgpack._cmsgpack\"` succeeds when it is installed","fix":"- Upgrade the msgpack Python package to `1.2.3` or later\n- Rebuild and redeploy containers or virtualenvs so the new version is actually loaded","status":"open","published_at":"2026-10-22T19:17:37+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","triaged_at":"2026-10-25T03:15:09+00:00","updated_at":"2026-10-25T03:15:09+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:15:09Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade the msgpack Python package to `1.2.3` or later\n- Rebuild and redeploy containers or virtualenvs so the new version is actually loaded","reach":"unknown","title":"msgpack-python: rejected map keys leak memory, enabling denial of service","impact":"low","summary":"Prior to 1.2.3, the msgpack-python C extension leaks a decoded map value when strict_map_key=True rejects a key, which is the default. Repeated malformed MessagePack input makes process memory grow without bound, causing denial of service in applications that deserialize attacker-controlled data.","category":"package","nicknames":[],"who_cares":["python","msgpack","api-servers"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Repeated malformed input exhausts process memory, causing denial of service","analyst_note":"","how_to_check":"- Run `python -c \"import msgpack; print(msgpack.version)\"` and compare against `1.2.3`\n- Check lockfiles (requirements.txt, poetry.lock, uv.lock) for the msgpack pin\n- Confirm whether the C extension is in use: `python -c \"import msgpack._cmsgpack\"` succeeds when it is installed","needs_analyst":false,"not_affected_if":["trusted-input-only","pure-python-fallback"],"who_is_affected":"Applications that call msgpack unpackb() or the Unpacker streaming API on data an outside party can send, such as API request bodies, message queues or cache entries written by untrusted clients. Services that only deserialize data they produced themselves are much less exposed. The pure-Python fallback did not show the leak in the reported tests.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.000652,"input_tokens":3442,"output_tokens":615,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-114613':15A,18A '-2026':14A,17A '1.2.3':27B,83C,159C 'affect':138C 'api':20B,136C 'api-serv':19B 'applic':66B,122C 'attack':70B,126C 'attacker-control':69B,125C 'bound':60B 'c':32B,88C 'caus':61B,112C 'control':71B,127C 'cve':13A,16A 'data':72B,129C 'decod':36B,93C 'default':50B,107C 'denial':10A,62B,118C 'deseri':68B,97C,124C 'enabl':9A 'exhibit':146C 'extens':33B,89C 'fallback':143C 'fix':156C 'grow':58B 'growth':116C 'implement':77C 'input':54B,110C 'issu':154C 'key':6A,42B,46B,100C,104C 'leak':7A,34B,91C,148C 'make':55B 'malform':52B,109C 'map':5A,37B,41B,94C,103C 'memori':8A,57B,115C 'messagepack':53B,73C,128C 'msgpack':2A,22B,30B,86C 'msgpack-python':1A,29B,85C 'msgpack._cmsgpack':90C 'msgpack.org':80C 'packag':23B 'prior':25B,81C 'process':56B,114C 'pure':141C 'pure-python':140C 'python':3A,24B,31B,79C,87C,142C 'reject':4A,44B,98C 'repeat':51B,108C 'report':151C 'serial':76C 'server':21B 'servic':12A,64B,120C 'stream':134C 'strict':40B,102C 'test':152C 'true':43B,105C 'unbound':113C 'unpack':135C 'unpackb':131C 'valu':38B,95C 'version':158C 'without':59B","nicknames":[],"mitigations":[],"who_affected":"Applications that call msgpack unpackb() or the Unpacker streaming API on data an outside party can send, such as API request bodies, message queues or cache entries written by untrusted clients. Services that only deserialize data they produced themselves are much less exposed. The pure-Python fallback did not show the leak in the reported tests.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T19:17:37+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114613","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114613","severity":null,"published_at":"2026-10-22T19:17:37+00:00","modified_at":"2026-10-23T21:17:21+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114613","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114613","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-24T07:15:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}