Labels: security · Severity: Medium
Location:
src/webserver/src/WebServer.cpp:1880 — wxString PwStr(Data.parsedURL.Param("pass"));
src/webserver/src/WebSocket.cpp:186-197 — POST body is appended to the URL string and
then parsed identically to a GET query string.
Description: Login reads the password from the parsed URL parameters, and the POST body
is concatenated onto the URL before parsing. As a result the password can be supplied as a
GET query parameter (/?pass=...). Passwords in URLs leak into server logs, browser
history, Referer headers, and proxy/cache logs.
Impact: Credential disclosure through logs and history.
Suggested fix: Accept credentials over POST only; keep the POST body separate from the
URL/query parsing path so the password never becomes part of a URL string. At minimum,
ensure the login password is never logged.
Labels:
security· Severity: MediumLocation:
src/webserver/src/WebServer.cpp:1880—wxString PwStr(Data.parsedURL.Param("pass"));src/webserver/src/WebSocket.cpp:186-197— POST body is appended to the URL string andthen parsed identically to a GET query string.
Description: Login reads the password from the parsed URL parameters, and the POST body
is concatenated onto the URL before parsing. As a result the password can be supplied as a
GET query parameter (
/?pass=...). Passwords in URLs leak into server logs, browserhistory,
Refererheaders, and proxy/cache logs.Impact: Credential disclosure through logs and history.
Suggested fix: Accept credentials over POST only; keep the POST body separate from the
URL/query parsing path so the password never becomes part of a URL string. At minimum,
ensure the login password is never logged.