Description
Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, a globally mounted middleware.Static instance can interpret an encoded request path differently from Echo's router because the router matches the still-encoded path while the static handler uses the decoded URL.Path. The advisory demonstrates an encoded slash resolving to a file under the static root through the global static middleware, but the source is internally inconsistent about whether a route or group guard protects the corresponding literal path in that global-mount configuration. This issue is fixed in 4.16.0 and 5.4.0.
Published: 2026-10-28
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: Unauthorized file access via middleware bypass
Action: Apply Patch
AI Analysis

Impact

A globally mounted Echo middleware.Static instance interprets encoded URL paths differently from the framework’s router. While the router continues to match the still‑encoded path, the static handler decodes URL.Path, allowing an encoded slash (%2F) to resolve to a file path under the static root that would otherwise be protected by route or group middleware. The effect is a privilege escalation or data disclosure because an attacker can craft a request that bypasses middleware guards and serves static content from directories that should be inaccessible.

Affected Systems

The affected product is Echo, the Go web framework maintained by Labstack. Any installation using a global static middleware in versions earlier than 4.16.0 or 5.4.0 is vulnerable. These versions lack the path‑decoding guard that aligns the router and static handler.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity vulnerability. The attack can be performed remotely by sending an HTTP request containing an encoded slash to a host running Echo. An attacker does not need advanced privileges, only the ability to request the vulnerable static resource. The vulnerability is not listed in the CISA KEV catalog and no EPSS score is available, but the potential impact of unauthorized file exposure makes it a priority. Because the path mismatch is a direct result of how Echo handles URL decoding, the flaw is readily exploitable if the attacker can target a vulnerable deployment.

Generated by OpenCVE AI on October 28, 2026 at 20:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Echo to version 4.16.0 or later, or 5.4.0 or later, to fix the path decoding inconsistency.
  • If an upgrade is not possible, remove or limit the global static middleware so that protected paths are not under its scope, or mount static middleware only on routes that are explicitly intended to be public.
  • Implement input validation to reject or normalize percent‑encoded slashes before they reach the static handler, mitigating the CWE‑177 path traversal weakness.

Generated by OpenCVE AI on October 28, 2026 at 20:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-375p-5qhx-8wq4 Echo's middleware.Static: `%2F`-encoded path bypasses route/group middleware guarding a statically-served path
History

Wed, 28 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, a globally mounted middleware.Static instance can interpret an encoded request path differently from Echo's router because the router matches the still-encoded path while the static handler uses the decoded URL.Path. The advisory demonstrates an encoded slash resolving to a file under the static root through the global static middleware, but the source is internally inconsistent about whether a route or group guard protects the corresponding literal path in that global-mount configuration. This issue is fixed in 4.16.0 and 5.4.0.
Title Echo: middleware.Static: `%2F`-encoded path bypasses route/group middleware guarding a statically-served path
Weaknesses CWE-177
CWE-863
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T19:25:02.952Z

Reserved: 2026-10-28T17:25:37.560Z

Link: CVE-2026-118650

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T20:17:21.850

Modified: 2026-10-28T20:17:21.850

Link: CVE-2026-118650

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T20:30:07Z

Weaknesses
  • CWE-177

    Improper Handling of URL Encoding (Hex Encoding)

  • CWE-863

    Incorrect Authorization