# CVE-2026-118652: Echo JSONP callback code injection

Source: https://junglewise.ai/threats/cve-2026-118652-echo-is-a-go-web-framework-prior-to-4-16-0-and-5-4-0-context  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-118652 · Severity: medium · CVSS 6.1 · Published 2026-10-28

Echo is a Go web framework used to build web applications and APIs. The JSONP response methods in Echo fail to validate user-supplied callback names, allowing an attacker to inject arbitrary JavaScript code that executes in a victim's browser when they visit a malicious link. This enables reflected cross-site scripting attacks without requiring authentication.

Technologies: [github.com/labstack/echo/v4 (Go)](https://junglewise.ai/threats/technologies/github-com-labstack-echo-v4), [github.com/labstack/echo/v5 (Go)](https://junglewise.ai/threats/technologies/github-com-labstack-echo-v5), [Labstack Echo](https://junglewise.ai/threats/technologies/labstack-echo). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [Labstack](https://junglewise.ai/threats/vendors/labstack).

## Quick answers

**Is CVE-2026-118652 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-118652 being exploited in the wild.

**How severe is CVE-2026-118652?** Medium severity, with a CVSS score of 6.1, published 28 October 2026.

**Which products and versions are affected?** github.com/labstack/echo/v4 (Go) < 4.16.0, SEMVER:introduced=0,fixed=4.16.0; github.com/labstack/echo/v5 (Go) < 5.4.0, SEMVER:introduced=0,fixed=5.4.0; Labstack Echo before 4.16.0 and before 5.4.0.

**Is there a fix for CVE-2026-118652?** Yes. github.com/labstack/echo/v4 (Go): upgrade to 4.16.0 or later; github.com/labstack/echo/v5 (Go): upgrade to 5.4.0 or later. Until then: Validate callback parameters manually to ensure they contain only valid JavaScript identifiers and dot-separated paths (ASCII letters, digits, underscore, and dollar sign) before passing them to Context.JSONP or Context.JSONPBlob, or avoid JSONP entirely in favor of CORS-enabled JSON endpoints. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-118652 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-118652?** Check whether you run github.com/labstack/echo/v4 (Go), github.com/labstack/echo/v5 (Go) or Labstack Echo at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/labstack/echo/v4 (Go): upgrade to 4.16.0 or later

  ```sh
  go get github.com/labstack/echo/v4@v4.16.0
  ```

- github.com/labstack/echo/v5 (Go): upgrade to 5.4.0 or later

  ```sh
  go get github.com/labstack/echo/v5@v5.4.0
  ```


Validate callback parameters manually to ensure they contain only valid JavaScript identifiers and dot-separated paths (ASCII letters, digits, underscore, and dollar sign) before passing them to Context.JSONP or Context.JSONPBlob, or avoid JSONP entirely in favor of CORS-enabled JSON endpoints.

## Technical details

Context.JSONP and Context.JSONPBlob concatenate an unvalidated callback parameter directly into the JavaScript response without escaping or validation. An attacker can craft a malicious URL with a callback containing arbitrary JavaScript syntax, which will be executed by the browser. The vulnerability requires an application route that passes attacker-controlled input as the callback argument.

## Affected products

- labstack Echo before 4.16.0 and before 5.4.0

## Identifiers

- CVE-2026-118652
- GHSA-h9g5-28mm-hx3g
- GO-2026-6876

## Timeline

- 2026-10-28: disclosed

## References

- [https://github.com/labstack/echo/commit/b838391e2eade87ae7e5a09d7bb5087bec271ec1](https://github.com/labstack/echo/commit/b838391e2eade87ae7e5a09d7bb5087bec271ec1)
- [https://github.com/labstack/echo/commit/fc410094b2f3415cf2bf5204082137b205bfd5af](https://github.com/labstack/echo/commit/fc410094b2f3415cf2bf5204082137b205bfd5af)

## Related threats

- [Echo web framework arbitrary URI scheme redirect](https://junglewise.ai/threats/cve-2026-118658-echo-is-a-go-web-framework-prior-to-4-15-2-and-5-1-1-context)
- [Echo Go web framework scheme header spoofing and HSTS bypass](https://junglewise.ai/threats/cve-2026-118657-echo-is-a-go-web-framework-prior-to-4-16-0-and-5-4-0-context)
- [Echo open redirect in sanitizeURI with trailing slash redirect](https://junglewise.ai/threats/cve-2026-118656-echo-is-a-go-web-framework-prior-to-4-16-0-and-5-4-0-sanitizeuri)
- [Echo path traversal via double URL encoding in Static middleware](https://junglewise.ai/threats/cve-2026-118655-echo-is-a-go-web-framework-prior-to-4-15-3-and-5-2-0-middleware)
- [Echo path traversal in static file handlers via dot segment normalization](https://junglewise.ai/threats/cve-2026-118654-echo-is-a-go-web-framework-prior-to-4-16-0-and-5-4-0-echo-s)
