Security fix · GHSA-x9ff-22gv-65f4
Echo: BodyDump can discard BodyLimit overflow errors for unknown-length requests
Published Oct 23, 2026 · catalog updated Oct 23, 2026 · Echo: BodyDump can discard
Last checked Oct 27, 2026, 12 days ago.
Open the advisory
Exploitation likelihood is not on this record for GHSA-x9ff-22gv-65f4. A missing EPSS score is not a low risk. Compare Echo: BodyDump can discard with the linked advisory before you change production.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Echo: BodyDump can discard).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- EPSS is missing. A missing score is not a low risk.
- Severity
- Unknown—
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- Awaiting synchronization with FIRST
- Remediation
- Advisory link
- Affected products
- Go github.com/labstack/echo/v5
## Impact Echo v5's BodyDump middleware captured a bounded prefix, drained the remaining request body while ignoring read errors, and then replaced the body with the captured prefix. With an outer BodyLimit, an unknown-length request such as an HTTP/1.1 chunked request, and a BodyDump capture limit below the BodyLimit threshold, an overflow detected during that drain could be discarded. The handler could consequently process a truncated request and return success even though the original body exceeded the configured limit. This is a conditional size-policy bypass; no general authentication bypass, production data modification or denial of service is claimed. Known-length requests rejected before BodyDump runs are unaffected by this path. ## Affected versions and patch All v5 releases from v5.0.0 through v5.4.0 contain the affected drain-and-replace logic. Runtime reproduction confirmed v5.4.0; source comparison confirms the same request handling in v5.0.0. Upgrade to [v5.4.1](https://github.com/labstack/echo/releases/tag/v5.4.1). BodyDump now captures only the configured prefix for logging and reconstructs the handler's reader from that prefix plus the unread original stream. It preserves the original closer and read errors instead of silently draining the rest. [Fix commit](https://github.com/labstack/echo/commit/1855061e572ae9dab727c811d8382f266bfbaaec). Streaming BodyLimit enforcement still requires the application to consume the request body and handle read errors. The BodyDump capture cap is a logging cap, not an application body limit. ## Workarounds Disable BodyDump on affected routes, or ensure the BodyLimit overflow is detected during the initial capture by setting the capture limit above the enforced body limit. Upgrading is recommended because it also preserves the complete body for handlers. ## Credits Reported by @Duodum. The fix incorporates @jakezwang's request-body preservation work in [#3105](https://github.com/labstack/echo/pull/3105).
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- Go github.com/labstack/echo/v55.0.0 → 5.4.1
How to fix GHSA-x9ff-22gv-65f4
Upgrade
GHSA-x9ff-22gv-65f4 lists a fix boundary at 5.4.1. Compare the installed build with that boundary before you change production.
Version check
Seen in 5.0.0 → 5.4.1
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
Exploitation likelihood is not on this record for GHSA-x9ff-22gv-65f4. A missing EPSS score is not a low risk. Compare Echo: BodyDump can discard with the linked advisory before you change production.
Which versions are affected?
Compare what you have installed with 5.0.0 → 5.4.1. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-252: Unchecked Return Value. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 23, 2026 · GitHub Advisory Database
Detected
## Impact Echo v5's BodyDump middleware captured a bounded prefix, drained the remaining request body while ignoring read errors, and then replaced the body with the captured prefix. With an outer BodyLimit, an unknown-length request such as an HTTP/1.1 chunked request, and a BodyDump capture limit below the BodyLimit threshold, an overflow detected during that drain could be discarded. The handle
Oct 23, 2026 · GitHub Advisory Database
Fix available
github.com/labstack/echo/v5 fixed in 5.4.1
Oct 23, 2026 · GitHub Advisory Database
Fix available
github.com/labstack/echo/v5 fixed in 5.4.1
Oct 23, 2026 · GitHub Advisory Database
Updated
## Impact Echo v5's BodyDump middleware captured a bounded prefix, drained the remaining request body while ignoring read errors, and then replaced the body with the captured prefix. With an outer BodyLimit, an unknown-length request such as an HTTP/1.1 chunked request, and a BodyDump capture limit below the BodyLimit threshold, an overflow detected during that drain could be discarded. The handle
Sources
- GitHub Advisory DatabasePackage advisoryGHSA-x9ff-22gv-65f4
GitHub Advisory Database record mirrored by OSV.
github.com - Go Vulnerability DatabasePackage advisoryGHSA-x9ff-22gv-65f4
Echo: BodyDump can discard BodyLimit overflow errors for unknown-length requests
osv.dev - OpenSSF OSV / OSV ScannerPackage advisoryGHSA-x9ff-22gv-65f4
Echo: BodyDump can discard BodyLimit overflow errors for unknown-length requests
osv.dev
References
Freshness
Last verified in this catalog Oct 23, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- Go Vulnerability DatabaseOct 27, 2026
- GitHub Advisory DatabaseOct 24, 2026
- OpenSSF OSV / OSV ScannerOct 24, 2026