Improper Input Validation in boazsegev facil.io WebSocket Frame Parser (CVE-2026-16632)
A high-severity improper input validation vulnerability, CVE-2026-16632, exists in the `websocket_on_protocol_error` function of the `boazsegev facil.io` WebSocket Frame Parser, allowing a remote unauthenticated attacker to manipulate the `on_message` argument with a publicly available exploit, potentially leading to denial of service or information disclosure.
A high-severity vulnerability, CVE-2026-16632, has been identified in the boazsegev facil.io library, specifically in versions up to 0.7.4. The flaw resides within the websocket_on_protocol_error function located in lib/facil/http/parsers/websocket_parser.h, which is part of the WebSocket Frame Parser component. This vulnerability is due to improper input validation (CWE-20) when manipulating the on_message argument, allowing a remote attacker to exploit the system without authentication. A public exploit has been released, significantly increasing the risk of active exploitation. The project maintainers were notified of the issue through an early report but have not yet responded or released a patch. Organizations using affected versions of facil.io are at risk of remote attacks impacting service availability or data confidentiality.
Attack Chain
- A remote unauthenticated attacker crafts a malicious WebSocket frame designed to trigger an error condition within the
facil.iolibrary. - The
facil.ioserver, utilizing itsWebSocket Frame Parser, receives and attempts to process this malformed frame. - The malformed frame causes the
websocket_on_protocol_errorfunction to be invoked within the WebSocket Frame Parser. - During the execution of
websocket_on_protocol_error, theon_messageargument is improperly handled due to the underlying vulnerability. - This improper input validation (CWE-20) allows the attacker's specially crafted data to corrupt internal state or memory.
- Successful exploitation can lead to a denial of service (DoS) by crashing the application, or potentially information disclosure, allowing the attacker to impact system availability or data confidentiality.
Impact
The successful exploitation of CVE-2026-16632 can lead to a denial of service (DoS) for applications utilizing boazsegev facil.io versions up to 0.7.4, rendering them unavailable to legitimate users. Depending on the specifics of the memory corruption or internal state manipulation, there is also a potential risk of information disclosure, where sensitive data could be exposed. The availability of a public exploit significantly elevates the threat level, making it easier for a wider range of attackers to target affected systems. As the project maintainers have not yet responded to the reported flaw, organizations remain vulnerable until a patch is released or workarounds are implemented.
Recommendation
- Prioritize patching
boazsegev facil.ioonce an official update addressing CVE-2026-16632 is released by the vendor. - Review network logs and application error logs for unusual WebSocket traffic patterns or application crashes potentially indicative of attempts to exploit CVE-2026-16632.
- Monitor affected systems for unexpected restarts or abnormal resource consumption that could signal a denial of service attack.