Skip to main content

facil.io CVE-2026-16632

| EUVDEUVD-2026-47864 MEDIUM
Improper Input Validation (CWE-20)
2026-07-23 cna@vuldb.com GHSA-5g3v-wh7g-2xvv
5.5
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect to exposed WebSocket endpoint
  2. Exploit
    Send crafted WebSocket frame with malformed on_message payload
  3. Execution
    Trigger websocket_on_protocol_error with unvalidated input
  4. Impact
    Induce limited information disclosure or state corruption

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

The target application must be running facil.io version 0.7.4 or earlier with WebSocket support enabled and a WebSocket endpoint reachable from the attacker over the network. Per the CVSS 4.0 vector (PR:N/UI:N/AC:L/AT:N), no authentication, user interaction, or special attack preconditions are required beyond network connectivity to the WebSocket endpoint. The principal limiting factor is that WebSocket functionality must be active and the relevant endpoint exposed - applications that do not enable WebSocket support or that sit behind a strict reverse proxy blocking WebSocket upgrades are not directly reachable via this path. Impact is bounded to low levels across confidentiality, integrity, and availability (VC:L/VI:L/VA:L); no scope change or system-level compromise is indicated.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms this is remotely exploitable without authentication or user interaction and with no special attack preconditions, indicating a broad attack surface for any exposed WebSocket endpoint. The E:P (proof-of-concept exists) threat modifier elevates practical risk above a theoretical finding. However, impact metrics (VC:L/VI:L/VA:L with SC:N/SI:N/SA:N) indicate only limited, contained impact with no scope change - this is not a remote code execution class issue based on available data. The aggregate CVSS 4.0 score of 5.5 (Medium) is consistent with limited blast radius. No CISA KEV listing means active exploitation in the wild has not been confirmed by a government authority. The lack of any vendor patch, combined with public PoC availability, means the risk window is open-ended. For facil.io deployments with internet-facing WebSocket endpoints, the PoC and unpatched status meaningfully elevate real-world priority despite the medium score.

Exploit ScenarioDerived

An unauthenticated remote attacker connects to a facil.io WebSocket endpoint and sends a crafted WebSocket frame with a malformed or unexpected on_message payload designed to trigger the protocol error handler. The websocket_on_protocol_error function's improper validation fails to sanitize the input, causing the parser to process attacker-controlled data in an unintended way, potentially leaking memory contents or causing limited corruption of server state. A proof-of-concept exploit has been published, meaning this scenario requires only moderate attacker skill to execute.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Improper input validation in facil.io's WebSocket Frame Parser (versions up to 0.7.4) allows remote unauthenticated attackers to send crafted WebSocket frames that trigger a flaw in the websocket_on_protocol_error function, yielding limited confidentiality, integrity, and availability impact. A proof-of-concept exploit has been publicly published, lowering the technical barrier for exploitation. The project maintainer was notified via GitHub issue but has not responded, leaving the vulnerability unpatched at time of analysis.

RemediationAI

No vendor-released patch has been identified at time of analysis. The maintainer was notified via GitHub issue #169 (https://github.com/boazsegev/facil.io/issues/169) but has not responded. As a primary compensating control, restrict access to WebSocket endpoints via firewall rules or reverse-proxy ACLs to trusted IP ranges only, which reduces the exposed attack surface without affecting application logic. If WebSocket functionality is not required, disable it at the application or proxy layer - note this may break dependent features. Deploying a WebSocket-aware reverse proxy (such as nginx) in front of facil.io to enforce frame-level validation provides an additional validation layer, though its effectiveness depends on proxy configuration. Organizations should evaluate migration to an actively maintained WebSocket library given the absence of vendor response. Monitor GitHub issue #169 for any maintainer activity.

Affected VersionsENISA

facil.io 0.7.1
facil.io 0.7.2
facil.io 0.7.3
facil.io 0.7.4
facil.io 0.7.0

Affected Packages

euvd facil_io no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

facil.io is a C-based server-side framework designed for building high-performance network and HTTP/WebSocket applications. The vulnerable component is the WebSocket frame parser defined in lib/facil/http/parsers/websocket_parser.h, specifically the websocket_on_protocol_error function. The root cause is CWE-20 (Improper Input Validation): when processing the on_message callback argument during WebSocket protocol error handling, the parser does not adequately validate the input, allowing malformed or attacker-controlled frame data to alter program flow. WebSocket parsers are low-level, performance-sensitive components where strict frame boundary and content validation is required - a gap here can ripple into memory or logic errors depending on how downstream handlers consume the malformed data.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vuldb) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 7.3 HIGH

Remote unauthenticated network exploitation with no preconditions; limited CIA impact and no scope change consistent with contained WebSocket parser flaw.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A flaw has been found in boazsegev facil.io up to 0.7.4. Affected is the function websocket_on_protocol_error in the library lib/facil/http/parsers/websocket_parser.h of the component WebSocket Frame Parser. This manipulation of the argument on_message causes improper input validation. The attack can be initiated remotely. The exploit has been published and may be used. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Rare
niche C framework, limited enterprise production adoption
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in facil.io Input Validation and Path Traversal Flaws

View all 2

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy