libriscv: Out of bounds read vuln in the ELF parser (Denial of service)
Impact
libriscv is a RISC-V sandbox and emulator. Prior to 1.18, a crafted ELF binary can cause out-of-bounds reads in the host emulator. Memory::binary_loader checks PT_LOAD program-header bounds, but Memory::serialize_execute_segment trusts section-header sh_offset and sh_size when locating .text without verifying the file range against m_binary.size(); Memory::lookup() has a similar section-table problem. Malformed .text or .symtab offsets can therefore bypass the program-header checks and point outside the binary buffer, crashing rvlinux. With suitable memory layout or integer overflow,…
Source excerpt · GitHub_MAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
libriscv · GitHub_M
libriscv
1 range
libriscv · GitHub_M
libriscv
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< 1.18
Other versions: unknown
Original source description
libriscv is a RISC-V sandbox and emulator. Prior to 1.18, a crafted ELF binary can cause out-of-bounds reads in the host emulator. Memory<W>::binary_loader checks PT_LOAD program-header bounds, but Memory<W>::serialize_execute_segment trusts section-header sh_offset and sh_size when locating .text without verifying the file range against m_binary.size(); Memory<W>::lookup() has a similar section-table problem. Malformed .text or .symtab offsets can therefore bypass the program-header checks and point outside the binary buffer, crashing rvlinux. With suitable memory layout or integer overflow, out-of-buffer host heap memory may instead be mapped into the guest by create_execute_segment(), potentially exposing host memory. The reported reproducer demonstrates a host SIGSEGV, while memory disclosure through grooming is described as possible rather than demonstrated. This issue is fixed in version 1.18.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-62958View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 1
Assigning organization
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.