CVE-2026-88388: Espruino stack-based buffer overflow in error stack-trace handling

CVE-2026-88388 · Severity: high · CVSS 7.5 · Published 2026-09-24

Espruino, a JavaScript runtime for embedded devices, contains a stack-based buffer overflow vulnerability triggered by JavaScript error handling on 64-bit builds. An attacker can supply JavaScript code that causes an exception, leading to memory corruption and potential code execution. This could compromise any embedded system or IoT device running affected versions of Espruino.

Technologies: Espruino. Vendors: Espruino.

Quick answers

Is CVE-2026-88388 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-88388 being exploited in the wild.
How severe is CVE-2026-88388?
High severity, with a CVSS score of 7.5, published 24 September 2026.
Which products and versions are affected?
Espruino 2v29 (commit bffc6d0) and possibly earlier 64-bit builds.
Is there a fix for CVE-2026-88388?
A patch was published on 2026-09-24: Fix available in commit ecd7d43 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-88388 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-88388?
Check whether you run Espruino at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A type mismatch in jslPrintTokenLineMarker() passes a 4-byte int pointer to jsvGetLineAndCol() as a size_t pointer, which performs an 8-byte write and corrupts adjacent stack memory. The vulnerability is triggered via remote JavaScript input that reaches the error stack-trace code path on 64-bit builds. Stack memory corruption can lead to control flow hijacking or arbitrary code execution.

Affected products

  • Espruino Espruino 2v29 (commit bffc6d0) and possibly earlier 64-bit builds

Timeline

  • 2026-09-24: disclosed
  • 2026-09-24: patched: Fix available in commit ecd7d43

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.