CVE-2025-69203

Source: security-advisories@github.com

MEDIUM
6.3
Published: January 1, 2026 at 07:15 PM
Modified: January 6, 2026 at 05:54 PM

Vulnerability Description

Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.19.0 of the access request system have two related features that when combined by themselves and with an information disclosure vulnerability enable convincing social engineering attacks against administrators. When a device creates an access request, it specifies three fields: `clientId`, `description`, and `permissions`. The SignalK admin UI displays the `description` field prominently to the administrator when showing pending requests, but the actual `permissions` field (which determines the access level granted) is less visible or displayed separately. This allows an attacker to request `admin` permissions while providing a description that suggests readonly access. The access request handler trusts the `X-Forwarded-For` HTTP header without validation to determine the client's IP address. This header is intended to preserve the original client IP when requests pass through reverse proxies, but when trusted unconditionally, it allows attackers to spoof their IP address. The spoofed IP is displayed to administrators in the access request approval interface, potentially making malicious requests appear to originate from trusted internal network addresses. Since device/source names can be enumerated via the information disclosure vulnerability, an attacker can impersonate a legitimate device or source, craft a convincing description, spoof a trusted internal IP address, and request elevated permissions, creating a highly convincing social engineering scenario that increases the likelihood of administrator approval. Users should upgrade to version 2.19.0 to fix this issue.

CVSS Metrics

Base Score
6.3
Severity
MEDIUM
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L

Weaknesses (CWE)

Source: security-advisories@github.com

AI Security Analysis

01 // Technical Summary

CVE-2025-69203 exposes Signal K Server to a critical social engineering attack by exploiting flaws in its access request system. Attackers can craft malicious requests with misleading descriptions, spoof trusted IP addresses, and request elevated admin permissions, leading to complete system compromise. This vulnerability allows for unauthorized access and control of the boat's central hub.

02 // Vulnerability Mechanism

Step 1: Information Gathering: The attacker leverages the information disclosure vulnerability to enumerate existing device/source names within the Signal K Server.

Step 2: Crafting the Malicious Request: The attacker crafts an access request, specifying a legitimate-sounding clientId (obtained in Step 1), a convincing description suggesting read-only access, and requesting admin permissions.

Step 3: IP Spoofing: The attacker sets the X-Forwarded-For HTTP header in the request to spoof a trusted internal IP address (e.g., a known internal device).

Step 4: Request Submission: The attacker submits the crafted access request to the Signal K Server.

Step 5: Admin Deception: The administrator views the pending access request in the admin UI. The UI prominently displays the misleading description and the spoofed IP address, making the request appear legitimate.

Step 6: Permission Escalation: The administrator, deceived by the description and spoofed IP, approves the request, granting the attacker admin permissions.

Step 7: System Compromise: The attacker, now with admin privileges, gains full control of the Signal K Server and, by extension, the boat's systems.

03 // Deep Technical Analysis

The root cause lies in the combination of several flaws. First, the server trusts the X-Forwarded-For HTTP header without proper validation, allowing for IP address spoofing. Second, the access request system prioritizes the description field over the actual permissions field in the admin UI, enabling attackers to mislead administrators. Third, an information disclosure vulnerability allows attackers to enumerate device/source names, facilitating impersonation. The lack of input validation on the X-Forwarded-For header and the UI design that prioritizes the description over the permissions create a perfect storm for social engineering. The core flaw is the trusting of user-controlled data (the X-Forwarded-For header) without proper sanitization or validation, coupled with a UI design that obscures critical security information (permissions).

04 // Exploitation Status

Discovery Only. No public PoC is available, but the vulnerability is easily exploitable given the information provided. The social engineering aspect makes it highly likely to be successfully exploited.

05 // Threat Intelligence

While no specific APTs are directly linked, this vulnerability aligns with tactics used by threat actors targeting maritime infrastructure. The potential for remote control of a vessel makes it attractive to various threat actors. CISA KEV status: Not Applicable (as of the provided data).

06 // Detection & Hunting

  • Monitor HTTP traffic for the X-Forwarded-For header, especially for requests originating from unexpected or external IP addresses.

  • Analyze Signal K Server logs for suspicious access requests, paying close attention to the clientId, description, and requested permissions.

  • Implement network intrusion detection systems (IDS) to identify anomalous network traffic patterns associated with IP spoofing.

  • Review access request logs for discrepancies between the requested permissions and the description provided.

  • Monitor for changes in device configurations or unauthorized modifications to the Signal K Server's settings.

07 // Remediation & Hardening

  • Upgrade to Signal K Server version 2.19.0 or later.

  • Implement strict validation of the X-Forwarded-For HTTP header, only trusting it if the request originates from a trusted reverse proxy.

  • Modify the admin UI to prominently display the requested permissions alongside the description when reviewing access requests.

  • Implement multi-factor authentication (MFA) for all administrator accounts.

  • Regularly review and audit access request logs for suspicious activity.

  • Implement a web application firewall (WAF) to filter malicious HTTP requests.

08 // Affected Products

Signal K Server versions prior to 2.19.0
Advertisement