Description
Espruino 2v29 (commit bffc6d0) contains a NULL pointer dereference vulnerability in jslGetRawString() in src/jslex.c. Crafted raw/binary string input can cause the lexer to pass a NULL iterator target to jsvLockAgain(). In RELEASE/NO_ASSERT builds, the missing assertion guard allows a write through the NULL pointer, resulting in memory corruption and application termination or denial of service.
Published: 2026-09-25
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

The Espruino JavaScript interpreter contains a NULL pointer dereference flaw in the function jslGetRawString in src/jslex.c. Crafted raw or binary string data can cause the lexer to pass a NULL iterator to jsvLockAgain, leading to a write through a NULL pointer. In builds without assertions enabled, this memory corruption can crash the interpreter, resulting in application termination or denial of service. The vulnerability does not explicitly grant remote code execution, but the memory corruption could potentially be leveraged to execute arbitrary code in environments where the interpreter runs with elevated privileges.

Affected Systems

Any installation of Espruino based on commit bffc6d0 (v2.29) is affected. The issue manifests in RELEASE/NO_ASSERT builds where the missing assertion guard is present. Upgrades or patches that remove the vulnerable code path protect against this flaw.

Risk and Exploitability

Because the flaw requires crafted string input to the lexer, exploitation would typically require an attacker able to supply such input to the Espruino interpreter. The CVSS score of 6.2 indicates moderate severity. The EPSS score of less than 1% suggests a low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. The vulnerability can cause denial of service without additional privilege escalation, and if the interpreter runs with privileged access, memory corruption could elevate to remote code execution. Therefore the risk assessment relies on the potential impact of a denial of service in mission‑critical devices.

Generated by OpenCVE AI on September 29, 2026 at 05:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Espruino to a version that includes the fix for the NULL pointer dereference in jslGetRawString.
  • Rebuild Espruino without the NO_ASSERT flag or enable assertions to preserve the guard that prevents the write through a NULL pointer.
  • If an upgrade is not immediately possible, disable or remove raw/binary string support in the interpreter to prevent the vulnerable code path.

Generated by OpenCVE AI on September 29, 2026 at 05:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 29 Sep 2026 06:15:00 +0000

Type Values Removed Values Added
Title NULL Pointer Dereference in Espruino Lexer Leading to Memory Corruption

Tue, 29 Sep 2026 04:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Espruino
Espruino espruino
Vendors & Products Espruino
Espruino espruino

Sat, 26 Sep 2026 00:30:00 +0000

Type Values Removed Values Added
Title NULL Pointer Dereference in Espruino Lexer Leading to Memory Corruption
Weaknesses CWE-476

Fri, 25 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Description Espruino 2v29 (commit bffc6d0) contains a NULL pointer dereference vulnerability in jslGetRawString() in src/jslex.c. Crafted raw/binary string input can cause the lexer to pass a NULL iterator target to jsvLockAgain(). In RELEASE/NO_ASSERT builds, the missing assertion guard allows a write through the NULL pointer, resulting in memory corruption and application termination or denial of service.
References

Subscriptions

Espruino Espruino
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-09-29T03:21:20.177Z

Reserved: 2026-09-10T00:00:00.000Z

Link: CVE-2026-88389

cve-icon Vulnrichment

Updated: 2026-09-29T03:20:35.606Z

cve-icon NVD

Status : Deferred

Published: 2026-09-25T15:17:56.687

Modified: 2026-09-30T17:32:07.107

Link: CVE-2026-88389

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-29T06:00:13Z

Weaknesses