websocket-driver-ruby: Denial of service via malformed Host header
If this library is used to implement a WebSocket server on top of a TCP server, by using the WebSocket::Driver.server() method, then a client can cause the server to crash by sending a Host header that is not a valid host[:port] string. When this happens, a URI::InvalidURIError exception is raised which is not caught, and this can cause the server process to crash if the application does not catch the error from the parse() method itself.
The issue has been patched in version 0.8.2 by making the request parser catch URI::InvalidURIError and enter an error state if the Host header is malformed. This means the request is considered invalid and should not establish a WebSocket connection.
No known workarounds exist.
This issue was discovered and reported by Pranjali Thakur, DepthFirst Security Research Team.
为什么是这个 VPI(可解释·实验性)
VPI 计算依据
| 影响度(严重程度等级估算值) | 80.00 |
| 利用信号(无额外利用信号) | ×1.00 |
| VPI | 80.00 |
VPI 公式 vpi-v1