Skip to content
Heist/ feed
Back to feed
UnratedFix available

echo v4.15.4 security fix for encoded path separators in static file URLs

Type: patchSources: Echo

This release fixes a path-handling issue that could let encoded separators bypass route-level middleware and expose static files. Static serving no longer unescapes paths by default; users who rely on URL-encoded filenames must opt in to the previous behavior.

Products
echo
Affected versions
v4.15.3
Fixed versions
v4.15.4
CVEs
Not specified
Confirmed fixed CVEs
Not specified
Updated in this feed
29 Oct 2026, 00:45 UTC · Revision 1

Source evidence

echo v4.15.4 security fix for encoded path separators in static file URLs

github-labstack-echo · Original source

Published 15 Jun 2026, 18:28 UTC

This release fixes a path-handling issue that could let encoded separators bypass route-level middleware and expose static files. Static serving no longer unescapes paths by default; users who rely on URL-encoded filenames must opt in to the previous behavior.

Security Fixes GHSA-vfp3-v2gw-7wfq: an encoded path separator (%2F or %5C) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files.

echo

Fixed versions: v4.15.4

Complete source record
{
  "id": "f8fc6f39e12cff92d3cc49e0549c697150315f9ea9138016759dad1eebada841",
  "url": "https://github.com/labstack/echo/releases/tag/v4.15.4",
  "method": "llm",
  "payload": {
    "kind": "patch",
    "title": "echo v4.15.4 security fix for encoded path separators in static file URLs",
    "summary": "This release fixes a path-handling issue that could let encoded separators bypass route-level middleware and expose static files. Static serving no longer unescapes paths by default; users who rely on URL-encoded filenames must opt in to the previous behavior.",
    "evidence": "Security Fixes GHSA-vfp3-v2gw-7wfq: an encoded path separator (%2F or %5C) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files.",
    "products": [
      {
        "name": {
          "value": "echo",
          "evidence": "Release notes from echo"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "v4.15.4",
            "evidence": "v4.15.4"
          }
        ],
        "affected_versions": [
          {
            "value": "v4.15.3",
            "evidence": "Full Changelog: v4.15.3...v4.15.4"
          }
        ]
      }
    ],
    "severity": "unknown",
    "fixed_cves": [],
    "related_cves": [],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "github-labstack-echo",
  "document_id": 21594,
  "published_at": "2026-06-15T18:28:20+00:00"
}