Echo is a Go web framework. From 4.0.0 until 4.16.1 and 5.4.1, Echo's Proxy middleware selects a raw tunnel from a client WebSocket upgrade request before verifying that the configured upstream accepted the upgrade. If the upstream rejects the upgrade with an ordinary keep-alive response, later HTTP requests on the connection are sent directly to that upstream without passing through Echo's router or route-specific middleware. This can bypass authentication or authorization enforced only by Echo routes, but requires an accessible proxy route, a cooperating rejected-upgrade response, and a target without independent upstream authorization. This issue is fixed in 4.16.1 and 5.4.1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-444",
"CWE-863"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/118xxx/CVE-2026-118264.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.16.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "5.0.0"
},
{
"fixed": "5.4.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "1855061e572ae9dab727c811d8382f266bfbaaec"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "3fb0ba7e17645bb65611e2a08875d0a2f65c421f"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v4.16.1",
"range": [
{
"fixed": "600b9855dfbcb22c7e643e43ce397d5248e882b2"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v5.4.1",
"range": [
{
"fixed": "a6a9673a54d2c719ceb32ce6a929d35483acfb2b"
}
],
"source": "REFERENCES_TAG"
}
]
}