Skip to main content
← Vulnerabilities

Signal K Server: Unauthenticated path traversal in resources-provider v2 API leads to JWT secret disclosure, admin impersonation and…

Affects signalk-server 2.0.0 to before 2.34.0 and @signalk/resources-provider 1.0.0 to before 1.5.3, when anonymous read is enabled via allow_readonly. CVSS rates it critical (9.8); no vendor rating is given. No fix is listed yet.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

9.8CriticalCNA
Exploited
No known exploitation
Fix
Fixed in signalk-server 2.34.0 · resources-provider 1.5.3
Who is exposed
Default setups

Do first: Check every install: default setups are affected.

Published
Last modified
32/100 · provisional
Default setups
None on Exploit-DB, Metasploit or GitHub
On X
View the cve.now post

Summary

Signal K Server, marine server software that runs on a boat's central hub, has a path traversal flaw in its v2 resources API that lets an attacker remotely, without logging in, read arbitrary JSON files on the server, including the security settings that expose the token signing secret and password hashes. With those, the attacker can forge an administrator token and create a provider that runs commands with the server's privileges, and that change persists across restarts.

Read the original description

Signal K Server is a server application that runs on a central hub in a boat. From 2.0.0 until 2.34.0 for Signal K Server and from 1.0.0 until 1.5.3 for @signalk/resources-provider, the v2 REST route GET /signalk/v2/api/resources/:resourceType/:resourceId accepts an unsafe resourceId that can escape the intended resource directory. The route passes the attacker-controlled resourceId through src/api/resources/index.ts to FileStore.getResource() in packages/resources-provider-plugin/src/filestorage.ts without adequate path containment, allowing arbitrary JSON files reachable by the server to be read. Related PUT and DELETE resource operations can write or delete files outside the storage root. Deployments with allow_readonly enabled permit anonymous reads, while other deployments require a readonly user token. Reading security.json exposes the HS256 JWT signing secret and password hashes, allowing an attacker to forge an administrator token. Administrative access to POST /skServer/providers can then create an Execute provider that runs commands with the server process privileges and persists its configuration across restarts. This issue is fixed in Signal K Server 2.34.0 and @signalk/resources-provider 1.5.3.

cve.now Index

32Pcve.now Index 32 of 100 · methodology v3 · provisional
  • Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
  • Exposure22/25Default setups, reachable over the network without a login
  • Reach?/20Unknown. No tracked technology or package matched
  • Severity9.8/10CVSS 9.8
  • No patch0/5No signal

What would change the score

  • Would score about 72 if added to CISA KEV
  • Would score about 67 if CISA's SSVC rates exploitation active

What to do

  • Check every install: default setups are affected.

  • Upgrade to a fixed version: signalk-server 2.34.0 · resources-provider 1.5.3.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. Posted on X by cve.now

Affected versions

  • SignalK signalk-server

    From 2.0.0 · fixed in 2.34.0

  • @signalk resources-provider

    From 1.0.0 · fixed in 1.5.3

Evidence 3

  1. Advisory
  2. Repository
  3. Repository

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

Questions about CVE-2026-123807

Is CVE-2026-123807 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data

What does this mean?

The resources-provider v2 API has a path traversal flaw that lets an unauthenticated request read arbitrary JSON files on the server, such as security.json. The advisory says an attacker can then forge an admin token and run commands with server privileges that persist across restarts.Source: github.com

Which versions are affected by CVE-2026-123807?

signalk-server: from 2.0.0 before 2.34.0. resources-provider: from 1.0.0 before 1.5.3.Source: cve.now feed data

Am I affected, and how do I check?

Signal K Server 2.0.0 through versions before 2.34.0 and @signalk/resources-provider 1.0.0 through versions before 1.5.3 are listed. Anonymous read access is needed, which requires the allow_readonly setting to be enabled; otherwise a readonly user token is needed. Check the allow_readonly setting in the server configuration and the installed version of each package.Source: github.com

How do I fix CVE-2026-123807?

Upgrade signalk-server to 2.34.0 or later and @signalk/resources-provider to 1.5.3 or later. The facts do not list a fix for the affected versions, so confirm the upgrade targets against the official advisory.Source: github.com