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.
- 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.
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 32/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Default setups
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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
- 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
- CVE published
- First seen by cve.now
- 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
- Advisory
- Repository
- 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