GHSA-79qm-7rj5-m7r9: Infoleak
Summary
The Proxy Helper (hono/proxy) does not remove response headers named by the origin's Connection header. Headers that the origin marked as connection-scoped are therefore forwarded to clients.
Details
Per RFC 9110 Section 7.6.1, an intermediary must remove the header fields listed in a message's Connection header field before forwarding the message, in addition to the well-known hop-by-hop headers. The proxy() function removed the well-known hop-by-hop headers (including Connection itself) from origin responses, but did not remove the headers that the response's Connection header field designated as connection-scoped.
This issue arises when an application proxies responses from an origin that declares additional, non-standard headers as hop-by-hop via the Connection response header.
Impact
A client may receive response headers that the origin intended only for its immediate peer. This may lead to:
- Disclosure of connection-scoped or internal metadata contained in such headers
This issue affects applications that use the Proxy Helper (hono/proxy) to forward responses from origins that list custom header names in their Connection response header. Applications whose origins only use the standard hop-by-hop headers are not affected.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/honoto a version that resolves this vulnerability.Fixed in 4.12.34
Event History
Frequently Asked Questions
What is the severity of GHSA-79qm-7rj5-m7r9?
The severity of GHSA-79qm-7rj5-m7r9 is low, rated at 3.7.
How do I fix GHSA-79qm-7rj5-m7r9?
To fix GHSA-79qm-7rj5-m7r9, update to the latest version of the hono package where this issue is addressed.
What software is affected by GHSA-79qm-7rj5-m7r9?
The vulnerability GHSA-79qm-7rj5-m7r9 affects the npm package hono.
What type of vulnerability is GHSA-79qm-7rj5-m7r9?
GHSA-79qm-7rj5-m7r9 is categorized as an information leakage vulnerability.
What does GHSA-79qm-7rj5-m7r9 entail?
GHSA-79qm-7rj5-m7r9 entails the proxy not removing certain connection-scoped response headers when forwarding to clients.