Capstone is a disassembly framework. In 6.0.0-Alpha9 and earlier, Capstone's arch/SH/SHDisassembler.c shdisassemble() function computes an idx value from a raw 16-bit instruction without ensuring it is within the active mode-specific decode[] function-pointer table. An application using CSARCHSH with CSMODESH2A or CSMODESH4A and CSMODESHFPU can pass crafted bytecode through csdisasmiter() or csdisasm(), causing the decode[idx] test to read outside the table and terminate the process with a segmentation fault. No code execution or information disclosure was demonstrated. This issue is fixed in version 6.0.0-Alpha10.
{
"binaries": [
{
"binary_version": "4.0.1+really+3.0.5-1build1",
"binary_name": "capstone-tool"
},
{
"binary_version": "4.0.1+really+3.0.5-1build1",
"binary_name": "libcapstone3"
},
{
"binary_version": "4.0.1+really+3.0.5-1build1",
"binary_name": "python-capstone"
},
{
"binary_version": "4.0.1+really+3.0.5-1build1",
"binary_name": "python3-capstone"
}
]
}