Quick answers
- Is This vulnerability exploited in the wild?
- No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
- How severe is This vulnerability?
- Critical severity, with a CVSS score of 9.8, published 30 October 2026.
- Which products and versions are affected?
- @signalk/resources-provider (npm) >= 1.0.0, < 1.5.3, SEMVER:introduced=1.0.0,fixed=1.5.3; signalk-server (npm) >= 2.0.0, < 2.34.0, SEMVER:introduced=2.0.0,fixed=2.34.0; Signal K all releases before 2.34.0.
- Is there a fix for This vulnerability?
- Yes. @signalk/resources-provider (npm): upgrade to 1.5.3 or later; signalk-server (npm): upgrade to 2.34.0 or later. Until then: Disable the `allow_readonly` configuration option (read-only anonymous access) if not required. Restrict network access to the Signal K server to trusted users and networks. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is This vulnerability attacked?
- It is attacked over the network.
- Am I affected?
- Check whether you run @signalk/resources-provider (npm), signalk-server (npm) or Signal K 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/resources-provider (npm): upgrade to 1.5.3 or later
npm install @signalk/resources-provider@1.5.3 - signalk-server (npm): upgrade to 2.34.0 or later
npm install signalk-server@2.34.0
Disable the `allow_readonly` configuration option (read-only anonymous access) if not required. Restrict network access to the Signal K server to trusted users and networks.
Technical details
The REST API endpoint `/signalk/v2/api/resources/:resourceType/:resourceId` passes the resourceId parameter directly to path operations without validation, allowing percent-encoded path traversal (`..%2F`) to escape the storage directory. An attacker reads `config/security.json` to obtain the HS256 JWT signing secret, then forges an admin token to reach the provider creation endpoint, which executes arbitrary shell commands via the `Execute` provider type instantiated at creation time.
Affected products
- Signal K Signal K all releases before 2.34.0
Timeline
- 2026-10-30: disclosed: GHSA-4xm8-rg9h-jhq2 published