Every CVE Search/ Get API key

CVE-2026-33951

signalk-server: Unauthenticated Source Priorities Manipulation

6.9 MediumFix available

Signal K Server is a server application that runs on a central hub in a boat. Prior to version 2.24.0-beta.1, the SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration. As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts. This issue has been patched in version 2.24.0-beta.1.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.32%Unchanged since Apr 3, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.9

signalk-server: Unauthenticated Source Priorities Manipulation

Signal K Server is a server application that runs on a central hub in a boat. Prior to version 2.24.0-beta.1, the SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration. As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts. This issue has been patched in version 2.24.0-beta.1.

Record
CVE-2026-33951
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-284, CWE-306
Updated
2026-11-02
EUVDEUVD-2026-18374 6.9

Signal K Server is a server application that runs on a central hub in a boat. Prior to version 2.24.0-beta.1, the SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration. As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts. This issue has been patched in version 2.24.0-beta.1.

Record
EUVD-2026-18374
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-gfmv-vh34-h2x5 6.9

Signal K Server: Unauthenticated Source Priorities Manipulation

Summary

The SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration.

As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts.

Affected Component

  • File: src/serverroutes.ts
  • Endpoint: PUT /signalk/v1/api/sourcePriorities (also accessible at /skServer/sourcePriorities)
  • Lines: 1064-1076
  • Function: Source priorities configuration handler

Vulnerable Code

// src/serverroutes.ts - Lines 1064-1076
app.put(
  `${SERVERROUTESPREFIX}/sourcePriorities`,
  (req: Request, res: Response) => {
    app.config.settings.sourcePriorities = req.body
    app.activateSourcePriorities()
    writeSettingsFile(app, app.config.settings, (err: any) => {
      if (err) {
        res
          .status(500)
          .send('Unable to save to sourcePrefences in settings file')
      } else {
        res.json({ result: 'ok' })
      }
    })
  }
)

Vulnerability Characteristics

Missing Authentication: The endpoint has zero authentication middleware, allowing unauthenticated access from any network-adjacent attacker.

Direct Configuration Assignment: User-supplied request body is directly assigned to app.config.settings.sourcePriorities without validation or sanitization.

Persistent Storage: Malicious configuration is written to disk via writeSettingsFile(), ensuring changes survive server restarts. Live Configuration Update: Changes take effect immediately via activateSourcePriorities(), affecting live navigation data processing.

No Input Validation: No JSON schema validation, type checking, or field allowlisting is performed on the request body.

Impact

  • Navigation Data Manipulation: Attackers can modify source priorities to change which existing, active source's data is being used
Record
GHSA-gfmv-vh34-h2x5
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-284, CWE-306
Updated
2026-11-02
NVD 6.9

Signal K Server is a server application that runs on a central hub in a boat. Prior to version 2.24.0-beta.1, the SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration. As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts. This issue has been patched in version 2.24.0-beta.1.

Record
CVE-2026-33951
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-284, CWE-306
Updated
2026-11-02
OSV 6.9

signalk-server: Unauthenticated Source Priorities Manipulation

Signal K Server is a server application that runs on a central hub in a boat. Prior to version 2.24.0-beta.1, the SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration. As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts. This issue has been patched in version 2.24.0-beta.1.

Record
CVE-2026-33951
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-284, CWE-306
Updated
2026-11-02
OSVGHSA-gfmv-vh34-h2x5 6.9

Signal K Server: Unauthenticated Source Priorities Manipulation

Summary

The SignalK Server exposes an unauthenticated HTTP endpoint that allows remote attackers to modify navigation data source priorities. This endpoint, accessible via PUT /signalk/v1/api/sourcePriorities, does not enforce authentication or authorization checks and directly assigns user-controlled input to the server configuration.

As a result, attackers can influence which GPS, AIS, or other sensor data sources are trusted by the system. The changes are immediately applied and persisted to disk, allowing the manipulation to survive server restarts.

Affected Component

  • File: src/serverroutes.ts
  • Endpoint: PUT /signalk/v1/api/sourcePriorities (also accessible at /skServer/sourcePriorities)
  • Lines: 1064-1076
  • Function: Source priorities configuration handler

Vulnerable Code

// src/serverroutes.ts - Lines 1064-1076
app.put(
  `${SERVERROUTESPREFIX}/sourcePriorities`,
  (req: Request, res: Response) => {
    app.config.settings.sourcePriorities = req.body
    app.activateSourcePriorities()
    writeSettingsFile(app, app.config.settings, (err: any) => {
      if (err) {
        res
          .status(500)
          .send('Unable to save to sourcePrefences in settings file')
      } else {
        res.json({ result: 'ok' })
      }
    })
  }
)

Vulnerability Characteristics

Missing Authentication: The endpoint has zero authentication middleware, allowing unauthenticated access from any network-adjacent attacker.

Direct Configuration Assignment: User-supplied request body is directly assigned to app.config.settings.sourcePriorities without validation or sanitization.

Persistent Storage: Malicious configuration is written to disk via writeSettingsFile(), ensuring changes survive server restarts. Live Configuration Update: Changes take effect immediately via activateSourcePriorities(), affecting live navigation data processing.

No Input Validation: No JSON schema validation, type checking, or field allowlisting is performed on the request body.

Impact

  • Navigation Data Manipulation: Attackers can modify source priorities to change which existing, active source's data is being used
Record
GHSA-gfmv-vh34-h2x5
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-284, CWE-306
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
signalk-server
npm
before 2.24.0-beta.1
2.24.0-beta.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-33951 is a medium vulnerability (CVSS 6.9) in Signalk Signal K Server, published April 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 25th percentile. Fixed in signalk-server 2.24.0-beta.1.

References

MoveEnter Open