CVE-2026-35038: SignalK signalk-server arbitrary prototype read in applicationData

CVE-2026-35038 · Severity: medium · CVSS 6.5 · Published 2026-04-02

Signal K Server is a central data hub used on boats to manage marine electronics and navigation data. A security flaw allows an authenticated user with low privileges to bypass security filters and access internal system data that should be isolated. This could lead to the exposure of sensitive internal server functions and configuration details, potentially aiding further attacks.

Technologies: signalk-server (npm). Vendors: npm.

Quick answers

Is CVE-2026-35038 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-35038 being exploited in the wild.
How severe is CVE-2026-35038?
Medium severity, with a CVSS score of 6.5, published 2 April 2026.
Which products and versions are affected?
signalk-server (npm) SEMVER:introduced=0,fixed=2.24.0.
Is there a fix for CVE-2026-35038?
Yes. signalk-server (npm): upgrade to 2.24.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-35038 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-35038?
Check whether you run signalk-server (npm) 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.

How to fix

  • signalk-server (npm): upgrade to 2.24.0 or later
    npm install signalk-server@2.24.0

Technical details

Signal K Server prior to version 2.24.0 is vulnerable to an arbitrary prototype read due to improper input validation in the JSON-patch endpoint. The `hasPrototypePollutionPatch` guard in `src/interfaces/applicationData.js` only inspects the `path` property of incoming patches, failing to validate the `from` property used in 'copy' or 'move' operations. An authenticated attacker can exploit this by providing a path containing `__proto__` in the `from` field, allowing them to exfiltrate internal Node.js functions and prototype properties into their own application data. While this does not grant direct remote code execution, it violates data isolation boundaries. The issue is fixed in version 2.24.0 by ensuring both `path` and `from` fields are validated against dangerous segments.

Affected products

  • SignalK signalk-server < 2.24.0

Identifiers

  • CVE-2026-35038
  • GHSA-qh3j-mrg8-f234

Timeline

  • 2026-03-26: patched: Version 2.24.0 released
  • 2026-04-01: advisory: GitHub Security Advisory published
  • 2026-04-02: disclosed: CVE published to NVD

References

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