Search
Find a vulnerability
Search criteria
1 vulnerability by libriscv
CVE-2026-62958 (GCVE-0-2026-62958)
Vulnerability from cvelistv5 – Published: 2026-10-30 20:44 – Updated: 2026-11-02 14:55
VLAI
EPSS
VEX
Title
libriscv: Out of bounds read vuln in the ELF parser (Denial of service)
Summary
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.
Severity
7.9 (High)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-11-02 14:54 UTC
Assigner
GitHub_M
CNA
References
4 references
| URL | Tags |
|---|---|
| https://github.com/libriscv/libriscv/security/adv… | x_refsource_CONFIRM |
| https://github.com/libriscv/libriscv/commit/61ef9… | x_refsource_MISC |
| https://github.com/libriscv/libriscv/commit/7bd1c… | x_refsource_MISC |
| https://github.com/libriscv/libriscv/releases/tag/v1.18 | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-62958",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-11-02T14:54:34.516881Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-11-02T14:55:00.894Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/libriscv/libriscv/security/advisories/GHSA-gm4g-6c78-gr3w"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "libriscv",
"vendor": "libriscv",
"versions": [
{
"status": "affected",
"version": "\u003c 1.18"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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\u003cW\u003e::binary_loader` checks `PT_LOAD` program-header bounds, but `Memory\u003cW\u003e::serialize_execute_segment` trusts section-header `sh_offset` and `sh_size` when locating `.text` without verifying the file range against `m_binary.size()`; `Memory\u003cW\u003e::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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.9,
"baseSeverity": "HIGH",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125: Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:44:21.663Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/libriscv/libriscv/security/advisories/GHSA-gm4g-6c78-gr3w",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/libriscv/libriscv/security/advisories/GHSA-gm4g-6c78-gr3w"
},
{
"name": "https://github.com/libriscv/libriscv/commit/61ef9ca82c8876dd80b33780893ba512af780e93",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/libriscv/libriscv/commit/61ef9ca82c8876dd80b33780893ba512af780e93"
},
{
"name": "https://github.com/libriscv/libriscv/commit/7bd1c189f9f9d54368cde096b07b194ad680f9fa",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/libriscv/libriscv/commit/7bd1c189f9f9d54368cde096b07b194ad680f9fa"
},
{
"name": "https://github.com/libriscv/libriscv/releases/tag/v1.18",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/libriscv/libriscv/releases/tag/v1.18"
}
],
"source": {
"advisory": "GHSA-gm4g-6c78-gr3w",
"discovery": "UNKNOWN"
},
"title": "libriscv: Out of bounds read vuln in the ELF parser (Denial of service)"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62958",
"datePublished": "2026-10-30T20:44:21.663Z",
"dateReserved": "2026-07-14T22:32:17.732Z",
"dateUpdated": "2026-11-02T14:55:00.894Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}