T05 · Unauthorized Access and Privilege Escalation
- Location
reference/startup-params.md:21- Finding
Remote Plaintext Control Exposes Destructive Unauthenticated Operations
- Content
View full analysis
Vulnerability Details
File Location:
reference/startup-params.md:21-29,reference/api-auxiliary.md:33-76
Vulnerability Type: Externally reachable management service with missing authentication and transport security
Risk Level: HighVulnerable Code Snippet
The startup configuration permits the management service to listen on a non-loopback address:
text --listen_ip=IPThe auxiliary API exposes process termination without credentials:
json { "action": "exit", "requestId": "globally unique identifier" }It also exposes local cache deletion without requiring login. The documented behavior states that an empty
browserOauthsarray deletes all local caches:json { "action": "ClearCache", "browserOauths": [], "requestId": "globally unique identifier" }Technical Analysis
The browser management interface uses unencrypted HTTP. The optional listening-address parameter allows the interface to be bound beyond
127.0.0.1, while operations such asexitandClearCachedo not require credentials.Binding this service to a network-accessible interface therefore changes locally trusted administrative operations into remotely accessible operations without adding authentication, authorization, request integrity, or transport encryption. An empty cache target additionally has destructive wildcard semantics, increasing the effect of a single unauthenticated request.
Other documented API calls transmit the company name, username, and password in JSON. When remote access is enabled, those credentials travel over plaintext HTTP and may be exposed to network observers or an active man-in-the-middle attacker.
Attack Path
- An operator launches the client with
--listen_ipset to a reachable interface. - The selected port is exposed through the host firewall, local network, container mapping, or cloud security group.
- An attacker scans the re ...[truncated 1150 chars]
- An operator launches the client with
- Remediation
View remediation
Remediation Suggestions
- Keep the service bound exclusively to
127.0.0.1by default and reject non-loopback bindings unless an explicit secure remote-access mode is configured. - Require strong authentication and per-operation authorization for every API, including
exit,ClearCache,logout, and information-query operations. - Replace plaintext HTTP with TLS. Prefer mutual TLS or a mutually authenticated local tunnel for remote administration.
- Use short-lived scoped tokens rather than repeatedly transmitting account passwords.
- Reject empty cache target arrays by default. Require an explicit
allProfilesflag and a separate confirmation token for global deletion. - Apply host firewall rules that restrict the management port to specifically approved source addresses.
- Add replay protection, request timestamps, cryptographically random request identifiers, rate limiting, and security event logging.
- Clearly document that direct exposure to a LAN or the public Internet is unsupported and unsafe.
- Keep the service bound exclusively to
