Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted ELF to rvlinux
-
ExploitManipulate .text/.symtab sh_offset
-
ExecutionBypass PT_LOAD program-header bounds check
-
ImpactOut-of-bounds host read crashes emulator (SIGSEGV)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | The attacker must be able to supply a crafted ELF binary that libriscv/rvlinux will load - i.e. a deployment that parses attacker-controlled binaries, which is libriscv's intended sandbox use case. The specific trigger is an ELF whose .text or .symtab section header has a manipulated sh_offset (and/or sh_size), e.g. set to a large value such as 0x7FFFFFFFF0000000 in the PoC; these section-header fields bypass the PT_LOAD program-header bounds checks that binary_loader performs, because serialize_execute_segment and lookup() index m_binary with sh_offset without range-checking it. Affected versions are libriscv up to and including 1.17. Limiting factors: the attack is local (AV:L) in that it requires getting a binary into the emulator, so deployments that only run trusted locally-built binaries are not realistically exposed; the demonstrated outcome is a host crash, while host memory disclosure additionally requires favorable heap layout or integer overflow (grooming) that the advisory does not demonstrate. |
| Impact | This is a genuine but bounded risk whose priority depends entirely on deployment model. The source-provided CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H, 7.9 HIGH) correctly captures the shape: local attack vector (the attacker must feed a binary to the emulator), low complexity, a scope change (guest/ELF input compromising the host emulator process), confirmed high availability impact (reliable host crash) and a low, only-theoretical confidentiality impact. The vuln.today decision label is this_week, not act_now/emergency, which is consistent with the absence of a KEV listing and the absence of any EPSS score in the input. No EPSS value was provided, so exploitation-probability modeling cannot be compared here; no SSVC exploitation/automatable/technical-impact breakdown was provided either, only the aggregate priority label. A public proof-of-concept (poc.py) is published in the GHSA advisory and is demonstrated to crash rvlinux with SIGSEGV, so working trigger code for the denial-of-service case is in the open. The key signal to weigh carefully: the confidentiality dimension (C:L, i.e. host memory disclosure) is described by the advisory as possible 'through grooming' and is explicitly NOT demonstrated - only the host SIGSEGV is reproduced. Real priority is therefore high specifically for anyone running libriscv <=1.17 as a multi-tenant or untrusted-binary sandbox (exactly its intended use), and low for deployments that only ever load trusted, locally-produced binaries, since AV:L means an attacker needs a path to submit a crafted ELF. |
| Exploit ScenarioDerived | An attacker who can submit an ELF binary to a service built on libriscv (a sandbox-as-a-service that runs user-supplied RISC-V programs) uploads a binary whose .text and/or .symtab section headers carry a malicious sh_offset. When the emulator parses the binary this offset is added directly to the host buffer pointer and dereferenced out of bounds, instantly crashing the host process (demonstrated SIGSEGV via the published poc.py). With a favorable heap layout or integer overflow the same flaw could instead map host heap memory into the guest, but this disclosure path is described as possible rather than demonstrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Out-of-bounds reads in libriscv's ELF parser, affecting versions through 1.17, let a crafted RISC-V ELF crash the host emulator (rvlinux) and, under favourable heap layout, may map out-of-buffer host heap memory into the guest. The flaw sits in section-header handling: sh_offset/sh_size for .text and .symtab are trusted and used to index the binary buffer without a range check, bypassing the PT_LOAD validation performed during loading. The GitHub advisory publishes a PoC script that overwrites the .text/.symtab offsets with 0x7FFFFFFFF0000000 and reproduces a host SIGSEGV; host memory disclosure is described as possible through grooming or integer overflow rather than demonstrated. Assessed CVSS is 7.9 (AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H) - no privileges required on the CVSS vector, but the attack requires getting a binary into the emulator, and there is no KEV listing or confirmed in-the-wild exploitation.
RemediationAI
Vendor-released patch: upgrade libriscv to v1.18 (https://github.com/libriscv/libriscv/releases/tag/v1.18), which contains commit 61ef9ca82c8876dd80b33780893ba512af780e93 adding the missing sh_offset/sh_size bounds and integer-overflow checks against m_binary.size() in serialize_execute_segment (and the equivalent section-table path in lookup()), plus commit 7bd1c189f9f9d54368cde096b07b194ad680f9fa and a regression test. Rebuild any emulator or service that embeds the library against the fixed tag; the advisory lists no separate workaround. Because the trigger is simply loading one crafted ELF, the practical exposure boundary is the deployment model: instances that only execute trusted, locally built binaries are not realistically exposed, whereas sandboxes accepting user-supplied RISC-V binaries remain triggerable until patched, so keeping untrusted binaries out of the loader is the only interim containment and that removes the sandbox's intended function. Note the demonstrated effect is a host crash; guest-visible host memory disclosure additionally depends on grooming or integer overflow and was not demonstrated.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libriscv is a RISC-V sandbox/emulator that loads ELF binaries into guest memory. In Memory<W>::binary_loader the PT_LOAD program headers are bounds-checked, but Memory<W>::serialize_execute_segment locates the .text section through the section header table and computes data = m_binary.data() + texthdr->sh_offset without verifying that sh_offset (and sh_size) fall inside m_binary.size(); Memory<W>::lookup() has the same section-table weakness, so a malformed .symtab offset reaches it too. Since the attacker controls the section-header fields, the resulting pointer can land in unmapped host memory (immediate SIGSEGV, the demonstrated outcome) or, with integer overflow or a favourable heap layout, inside valid host heap before or after the binary buffer, which create_execute_segment() then maps into the guest. The root cause class is CWE-20 improper input validation (the advisory also tags CWE-125 out-of-bounds read): untrusted file-supplied offsets are used as buffer indices. The 1.18 fix (commit 61ef9ca) adds overflow and in-binary range checks (sh_offset + sh_size >= sh_offset and <= m_binary.size()) and removes the adjacent __lcxx_override merging workaround; commit 7bd1c18 is a companion change and the release is tagged v1.18. Unit coverage was added in tests/unit/verify_elf.cpp with an out-of-range .text offset case.
Know when Libriscv gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H
Attacker must feed a binary to the emulator (AV:L) but needs no authentication to craft it (PR:N); guest-controlled ELF compromises the host process (S:C); confirmed reliable crash (A:H) with only theoretical, undemonstrated disclosure (C:L, I:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
CWE-20 (Improper Input Validation), realized as CWE-125 (Out-of-bounds Read), in libriscv's ELF loader.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity vulnerability in the libriscv emulator (versions through 1.17) allows a maliciously crafted RISC-V binary to crash the host system during emulation and potentially leak host memory into the guest. Any team using libriscv to run untrusted code is affected, and leadership should prioritize updating or isolating the emulator to prevent availability disruptions and data exposure.
No vendor-released patch identified at time of analysis. Interim mitigations: run libriscv in a sandboxed environment with limited privileges and memory, process only trusted RISC-V binaries, enforce strict input validation on ELF files, and monitor for anomalous crashes or memory errors.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-114467
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB