Echo: middleware.Static: `%2F`-encoded path bypasses route/group middleware guarding a statically-served path (labstack echo)

CVE-2026-118650
HIGH 7.5

At a glance

Source
NVD
EPSS
EPSS 0.40 % · percentile 34 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Awaiting Analysis

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.

Weaknesses (CWE)

  • CWE-177 — Improper Handling of URL Encoding (Hex Encoding)
  • CWE-863 — Incorrect Authorization

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NGitHub_M
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NNVD · security-advisories@github.com (Secondary)

Advisories

European references

Affected products

ProductVersions
labstack · echoaffected >= 5.0.0, < 5.4.0 ; affected < 4.16.0

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD