Skip to content
Heist/ feed
Back to feed
Medium

Echo: Reflected Cross-Site Scripting (XSS) via unsanitized JSONP callback in Context.JSONP / Context.JSONPBlob

Type: advisorySources: Official CVE List

Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, Context.JSONP and Context.JSONPBlob concatenate an unvalidated callback value into a JavaScript response. A route that passes attacker-controlled input as the callback can return executable script syntax, allowing reflected cross-site scripting when a user loads the crafted response. The vulnerable jsonPBlob path performs no callback validation or escaping, and exploitation requires an application route that exposes attacker control over the callback argument. This issue is fixed in 4.16.0 and 5.4.0.

Products
echo
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-118652
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 06:56 UTC · Revision 1

Source evidence

Echo: Reflected Cross-Site Scripting (XSS) via unsanitized JSONP callback in Context.JSONP / Context.JSONPBlob

core-cve · Original source

Published 28 Oct 2026, 19:35 UTC

Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, Context.JSONP and Context.JSONPBlob concatenate an unvalidated callback value into a JavaScript response. A route that passes attacker-controlled input as the callback can return executable script syntax, allowing reflected cross-site scripting when a user loads the crafted response. The vulnerable jsonPBlob path performs no callback validation or escaping, and exploitation requires an application route that exposes attacker control over the callback argument. This issue is fixed in 4.16.0 and 5.4.0.

cve:CVE-2026-118652

echo

Fixed versions: Not specified

Complete source record
{
  "id": "312e3d4ed4f9f16f85f54f6d7034b79788abd577049c1342fc91afdddcf9c4e2",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-118652",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Echo: Reflected Cross-Site Scripting (XSS) via unsanitized JSONP callback in Context.JSONP / Context.JSONPBlob",
    "summary": "Echo is a Go web framework. Prior to 4.16.0 and 5.4.0, Context.JSONP and Context.JSONPBlob concatenate an unvalidated callback value into a JavaScript response. A route that passes attacker-controlled input as the callback can return executable script syntax, allowing reflected cross-site scripting when a user loads the crafted response. The vulnerable jsonPBlob path performs no callback validation or escaping, and exploitation requires an application route that exposes attacker control over the callback argument. This issue is fixed in 4.16.0 and 5.4.0.",
    "evidence": "cve:CVE-2026-118652",
    "products": [
      {
        "name": {
          "value": "echo",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-118652",
      "aliases": [
        "CVE-2026-118652"
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "scope": "CHANGED",
            "version": "3.1",
            "baseScore": 6.1,
            "attackVector": "NETWORK",
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
            "integrityImpact": "LOW",
            "userInteraction": "REQUIRED",
            "attackComplexity": "LOW",
            "availabilityImpact": "NONE",
            "privilegesRequired": "NONE",
            "confidentialityImpact": "LOW"
          }
        }
      ],
      "affected": [
        {
          "vendor": "labstack",
          "product": "echo",
          "versions": [
            {
              "status": "affected",
              "version": "< 4.16.0"
            },
            {
              "status": "affected",
              "version": ">= 5.0.0, < 5.4.0"
            }
          ]
        }
      ],
      "modified": "2026-10-28T19:35:47.103Z",
      "provider": "cve",
      "references": [
        "https://github.com/labstack/echo/security/advisories/GHSA-h9g5-28mm-hx3g",
        "https://github.com/labstack/echo/commit/b838391e2eade87ae7e5a09d7bb5087bec271ec1",
        "https://github.com/labstack/echo/commit/fc410094b2f3415cf2bf5204082137b205bfd5af",
        "https://github.com/labstack/echo/releases/tag/v4.16.0",
        "https://github.com/labstack/echo/releases/tag/v5.4.0"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
          "shortName": "GitHub_M",
          "dateUpdated": "2026-10-28T19:35:47.103Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-118652",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 480641,
  "published_at": "2026-10-28T19:35:47.103+00:00"
}