5.1 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Local (L)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): Low (L)
- Integrity (I): None (N)
- Availability (A): Low (L)
- Modified Attack Vector (MAV): Local (L)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): Low (L)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): Low (L)
Activity log
- Created suggestion
Capstone M68K and RISCV `cs_insn_name()` invalid IDs can trigger out-of-bounds reads and process crashes
Capstone is a disassembly framework. Prior to version 6.0.0-Alpha9, Capstone's public `cs_insn_name()` API forwards caller-supplied instruction IDs directly to the selected architecture backend. Most backends validate the ID before indexing instruction-name tables, but the M68K and RISCV backends have missing or incomplete bounds checks. On a Capstone handle opened for M68K or RISCV, a caller-controlled invalid instruction ID can trigger an out-of-bounds read and crash the process. The demonstrated impact is availability loss in applications or bindings that expose instruction-name lookup to untrusted IDs. No code execution or data disclosure was demonstrated. Version 6.0.0-Alpha9 patches the issue.
References
Affected products
- ==< 6.0.0-Alpha9
Matching in nixpkgs
pkgs.capstone
Advanced disassembly library
pkgs.capstone_4
Advanced disassembly library
pkgs.python313Packages.capstone
Python bindings for Capstone disassembly engine
pkgs.python314Packages.capstone
Python bindings for Capstone disassembly engine
pkgs.python313Packages.capstone_4
Python bindings for Capstone disassembly engine
Package maintainers
-
@risicle Robert Scott <code@humanleg.org.uk>
-
@thoughtpolice Austin Seipp <aseipp@pobox.com>
-
@bennofs Benno Fünfstück <benno.fuenfstueck@gmail.com>