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.
{
"binaries": [
{
"binary_name": "libradare2-0.9.6",
"binary_version": "0.9.6-3.1ubuntu1"
},
{
"binary_name": "libradare2-common",
"binary_version": "0.9.6-3.1ubuntu1"
},
{
"binary_name": "radare2",
"binary_version": "0.9.6-3.1ubuntu1"
},
{
"binary_name": "radare2-plugins",
"binary_version": "0.9.6-3.1ubuntu1"
}
]
}