{"schemaVersion":3,"id":"CVE-2026-81878","aliases":["UBUNTU-CVE-2026-81878"],"status":"published","duplicateOf":null,"title":null,"description":"radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's CPython bytecode .pyc marshal parser was vulnerable because the CPython marshal readers accepted a 32-bit string length without rejecting values that overflow the size-plus-one allocation. The vulnerability is triggered by opening or inspecting a crafted .pyc file through r2 or rabin2. A length of 0xffffffff wrapped the allocation to zero before the common byte reader wrote attacker-controlled data and fill bytes beyond the heap allocation. This can cause heap memory corruption and denial of service; arbitrary code execution is possible but has not been demonstrated. This issue is fixed in version 6.2.0.","dates":{"published":"2026-09-22T15:07:45.225Z","modified":"2026-09-22T17:55:51.200Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00202,"percentile":0.09672,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-09-23T00:00:00.000Z","score":0.00183,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00183,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00202,"percentile":0.09672}],"last30":[{"date":"2026-09-23T00:00:00.000Z","score":0.00183,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00183,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00202,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00202,"percentile":0.09672}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_RADAREORG_RADARE2","name":"Radare2","source":"github","url":"https://github.com/radareorg/radare2/issues/23953#issue-2844325926","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"},{"id":"CWE-787","name":"Out-of-bounds Write","description":"The product writes data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/787.html"}],"affected":[{"vendor":"ubuntu","product":"radare2","name":"radare2","label":"radare2","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/radare2","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"radare","product":"radare2","name":"radare2","label":"radare2","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 6.2.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 6.2.0","eol":null,"hubHref":"/vendor/radare/radare2"},{"vendor":"radareorg","product":"radare2","name":"radare2","label":"radare2","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 6.2.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 6.2.0","eol":null,"hubHref":"/vendor/radareorg/radare2"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/radareorg/radare2/security/advisories/GHSA-9phv-v2w8-56j3","label":"github.com/radareorg/radare2/security/advisories/GHSA-9phv-v2w8-56j3","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Patch","Vendor Advisory"]},{"url":"https://github.com/radareorg/radare2/issues/26222","label":"github.com/radareorg/radare2/issues/26222","hostname":"github.com","tags":["X Refsource MISC","REPORT","Exploit","Mitigation","Vendor Advisory"]},{"url":"https://github.com/radareorg/radare2/pull/26177","label":"github.com/radareorg/radare2/pull/26177","hostname":"github.com","tags":["X Refsource MISC","REPORT","Patch"]},{"url":"https://github.com/radareorg/radare2/commit/6727454b666b28c33837b219a5f91136461357c0","label":"github.com/radareorg/radare2/commit/6727454b666b28c33837b219a5f91136461357c0","hostname":"github.com","tags":["X Refsource MISC","REPORT","Patch"]},{"url":"https://github.com/radareorg/radare2/releases/tag/6.2.0","label":"github.com/radareorg/radare2/releases/tag/6.2.0","hostname":"github.com","tags":["X Refsource MISC","REPORT","Release Notes"]},{"url":"https://ubuntu.com/security/CVE-2026-81878","label":"ubuntu.com/security/CVE-2026-81878","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-81878","label":"www.cve.org/CVERecord?id=CVE-2026-81878","hostname":"www.cve.org","tags":["REPORT"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21988-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21988-1"]},"timeline":[{"kind":"published","date":"2026-09-22T15:07:45.225Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-22T17:55:51.200Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":32,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T22:07:47.811Z","stale":false,"partial":false}}