Description
WHartTest through 2.8.1 contains a missing authentication vulnerability that allows unauthenticated attackers to connect to the /ws/ui/web/ and /ws/ui/actuator/ WebSocket endpoints because UiAutomationConsumer accepts every connection. Attackers can register an actuator with a client-supplied id to intercept other users' test-case payloads, receive broadcast step results, and spoof results and screen frames into victim sessions.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| MGdaasLab | WHartTest | ≤ 2.8.1 | — |
References
- https://hackmd.io/@hieuPenguinnn/wharttest-ui-automation-websocket-missing-authentication third-party-advisory
- https://github.com/MGdaasLab/WHartTest/blob/v2.8.1/WHartTest_Django/wharttest_django/asgi.py#L41-L53 technical-description
- https://github.com/MGdaasLab/WHartTest/blob/v2.8.1/WHartTest_Django/ui_automation/consumers.py#L129-L186 technical-description
- VulnCheck Advisory: WHartTest through 2.8.1 Missing Authentication on UI-Automation WebSocket Endpoints third-party-advisory