Skip to main content

facil.io EUVDEUVD-2026-47867

| CVE-2026-16653 MEDIUM
Path Traversal (CWE-22)
2026-07-23 VulDB GHSA-fh8x-qh3j-vhfv
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Send crafted HTTP GET with traversal payload
  2. Delivery
    http_sendfile2 processes unsanitized path
  3. Exploit
    Resolve path outside configured web root
  4. Execution
    Read arbitrary file accessible to server process
  5. Impact
    Return file contents in HTTP response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The Public Folder Handler feature must be active - this is the specific facil.io capability that routes requests through http_sendfile2 for static file serving; deployments using facil.io purely as an HTTP API framework without static serving enabled are not affected by this code path. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms that beyond this feature being enabled, no authentication, no user interaction, no elevated privileges, and no special network position are required - exploitation is viable against default-configured deployments reachable over the network. Exploitation is limited to file read operations only (VC:L, VI:N, VA:N); the attacker cannot write, delete, or execute files through this vulnerability. The set of readable files is further constrained by the OS-level read permissions of the user account running the facil.io process, so a properly privilege-separated deployment reduces the practical scope of disclosure.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N) establishes this as a straightforward, unauthenticated, network-reachable read primitive with low confidentiality impact and no integrity or availability consequences. The VC:L rating suggests partial rather than full-system file disclosure, likely bounded by the OS-level read permissions of the facil.io process. A public exploit exists (E:P in the CVSS 4.0 supplemental vector), elevating practical risk above theoretical. No CISA KEV listing means active mass exploitation is not confirmed, but the combination of an unpatched vulnerability, unauthenticated network access, and published PoC is a meaningful real-world risk for any deployment exposing facil.io's static file handler to untrusted networks. EPSS data was not provided; exploitation probability should be treated as moderate given PoC availability. The primary limiting factor is that facil.io is a niche C framework with limited enterprise footprint, which constrains aggregate exposure.

Exploit ScenarioDerived

An unauthenticated remote attacker sends an HTTP GET request to a publicly reachable facil.io server containing a traversal payload such as GET /../../../../etc/passwd HTTP/1.1, causing http_sendfile2 to resolve the path outside the configured public folder and return the contents of the targeted file in the HTTP response body. Since a public exploit has been released and the attack requires no authentication or special preconditions, any facil.io instance with the Public Folder Handler exposed to untrusted networks is immediately actionable by a script-kiddie-level adversary.

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

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

Alert me

AnalysisAIv1 – Jul 23, 2026

Path traversal in boazsegev facil.io up to version 0.7.58 allows remote unauthenticated attackers to read files outside the configured web root by supplying crafted traversal sequences to the http_sendfile2 function in the Public Folder Handler. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms exploitation requires no authentication and no special setup beyond a running facil.io instance with static file serving enabled. A public exploit has been released and the vendor has not responded to the responsible disclosure, leaving all known versions unpatched at time of analysis.

RemediationAI

No vendor-released patch has been identified at time of analysis - the project maintainer has not responded to the disclosure at https://github.com/boazsegev/facil.io/issues/170, so no fixed version can be cited. The most effective compensating control is to place a hardening reverse proxy (e.g., nginx or HAProxy) in front of facil.io configured to reject or normalize requests containing ../, .%2e/, %2e./, and other traversal sequences before they reach the application; note this adds operational complexity and must cover all encoding variants. If static file serving is not required, disabling the Public Folder Handler feature entirely eliminates the attack surface with no functional trade-off for API-only deployments. Where static serving is required, ensure the facil.io process runs under a dedicated low-privilege OS user with read access restricted only to the intended web root via filesystem permissions or a chroot/container boundary, which limits the blast radius of traversal even if the filter is bypassed. Monitor the GitHub issue and VulDB entry at https://vuldb.com/cve/CVE-2026-16653 for vendor patch availability.

Affected VersionsENISA

facil.io 0.7.16
facil.io 0.7.2
facil.io 0.7.53
facil.io 0.7.30
facil.io 0.7.50
facil.io 0.7.5
facil.io 0.7.24
facil.io 0.7.22
facil.io 0.7.28
facil.io 0.7.45
facil.io 0.7.8
facil.io 0.7.40
facil.io 0.7.49
facil.io 0.7.54
facil.io 0.7.7
facil.io 0.7.31
facil.io 0.7.4
facil.io 0.7.36
facil.io 0.7.12
facil.io 0.7.57
facil.io 0.7.34
facil.io 0.7.1
facil.io 0.7.44
facil.io 0.7.13
facil.io 0.7.47
facil.io 0.7.39
facil.io 0.7.20
facil.io 0.7.55
facil.io 0.7.14
facil.io 0.7.18
facil.io 0.7.11
facil.io 0.7.32
facil.io 0.7.33
facil.io 0.7.51
facil.io 0.7.48
facil.io 0.7.23
facil.io 0.7.15
facil.io 0.7.52
facil.io 0.7.10
facil.io 0.7.58
facil.io 0.7.41
facil.io 0.7.21
facil.io 0.7.56
facil.io 0.7.43
facil.io 0.7.46
facil.io 0.7.27
facil.io 0.7.19
facil.io 0.7.29
facil.io 0.7.0
facil.io 0.7.25
facil.io 0.7.6
facil.io 0.7.37
facil.io 0.7.9
facil.io 0.7.3
facil.io 0.7.17
facil.io 0.7.42
facil.io 0.7.26
facil.io 0.7.38
facil.io 0.7.35

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-language event-driven network and HTTP server framework developed by boazsegev. The vulnerable component is the Public Folder Handler, which uses the http_sendfile2 function in lib/facil/http/http.c to serve static files from a configured web root. CWE-22 (Path Traversal / Improper Limitation of a Pathname to a Restricted Directory) identifies the root cause as insufficient neutralization of path-separator sequences such as ../ or their URL-encoded equivalents before the server resolves and opens the requested file. The result is that a requested path can escape the intended public directory and reference arbitrary files on the host filesystem. CPE cpe:2.3:a:boazsegev:facil.io:*:*:*:*:*:*:*:* covers the entire known version surface through 0.7.58 with no lower-bound exclusion.

Know when Facil Io gets its next vulnerability

  • 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:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 5.3 MEDIUM

Network-accessible unauthenticated path traversal yields partial file read only; no integrity or availability impact, no scope change beyond the vulnerable process.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/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
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 23, 2026 - 02:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Jul 23, 2026 - 01:15 cve.org
MEDIUM 6.9

DescriptionCVE.org

A security flaw has been discovered in boazsegev facil.io up to 0.7.58. This affects the function http_sendfile2 of the file lib/facil/http/http.c of the component Public Folder Handler. Performing a manipulation results in path traversal. Remote exploitation of the attack is possible. The exploit has been released to the public and may be used for attacks. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
0.7%
Top 51% exploitable
Prevalence
Rare
niche C web framework, minimal known enterprise adoption
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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 Yes
EPSS 0.7%
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

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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