VYPR
Critical severityNVD Advisory· Published Dec 31, 2020· Updated Aug 4, 2024

CVE-2020-35859

CVE-2020-35859

Description

A bug in lucet-runtime-internals mishandles sigstack allocation, potentially exposing sensitive data or causing memory corruption in guest programs.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A bug in lucet-runtime-internals mishandles sigstack allocation, potentially exposing sensitive data or causing memory corruption in guest programs.

Root

Cause

The vulnerability in the lucet-runtime-internals crate (before 0.5.1) is a memory layout bug in signal stack (sigstack) allocation. The signal stack was placed one page after the start of the globals section without accounting for the actual size of the globals. As a result, when the globals size was larger than the default (one page), the signal stack could overlap with the globals region [3]. Additionally, the signal stack lacked a proper guard page, further increasing the risk of memory corruption.

Exploitation

The flaw is reachable without any authentication or user interaction (CVSS 3.1 base score 9.1, CRITICAL). An attacker who can control or influence a guest WebAssembly program can exploit the overlapping memory regions. The bug is triggered during runtime execution; a malicious guest program could read or write past the intended signal stack boundaries, either leaking residual stack data or corrupting adjacent memory used by the guest or the runtime [1][2].

Impact

Successful exploitation leads to two classes of impact: memory exposure (confidentiality) and memory corruption (availability). The guest program could observe sensitive information left on the signal stack by previous operations, or it could corrupt the globals segment, causing undefined behavior or crashes in the runtime. The official advisory rates confidentiality and availability as High, with Integrity unaffected [2].

Mitigation

The fix was implemented in pull request #401 and released in version 0.5.1 of lucet-runtime-internals. Users should upgrade to 0.5.1 or apply the patch to correct the sigstack offset calculation and add the missing guard page [2][3]. Note that the Lucet project has reached end-of-life; all users are transitioned to Wasmtime, which does not contain this vulnerability [4].

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
lucet-runtime-internalscrates.io
< 0.4.30.4.3
lucet-runtime-internalscrates.io
>= 0.5.0, < 0.5.10.5.1

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

4

News mentions

0

No linked articles in our index yet.