CyberRota Analysis
AI-GeneratedVersions 0.33.0 to 0.50.0 of cpp-httplib, a C++ header-only HTTP/HTTPS library, contain a vulnerability in the TLS-enabled WebSocket client that leads to a use-after-free condition. This flaw occurs when the TLS session is freed before the WebSocket is closed, allowing potential attackers to exploit freed memory, which could lead to arbitrary code execution or crashes. Developers and organizations using affected versions should prioritize upgrading to version 0.50.1 to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
cpp-httplib is a C++ header-only HTTP/HTTPS library. In versions 0.33.0 through 0.50.0, the TLS-enabled WebSocket client frees the TLS session before closing the WebSocket that still uses it, producing a use-after-free. In WebSocketClient::shutdown_and_close the SSL object is freed and the pointer cleared, but the subsequent WebSocket close still sends a close frame through the SSL socket stream, which holds a raw copy of the now-dangling session pointer and reads from and writes to the freed memory. The same freed-then-used ordering is reachable through the client's destructor and its connect path, so ordinary teardown of a secure WebSocket connection triggers the defect. This issue is fixed in version 0.50.1.