Junglewise Threat Intelligence

CVE-2026-59903: Netty CorsHandler cache poisoning via Vary header overwrite

CVE-2026-59903 · Severity: medium · CVSS 6.5 · Published 2026-08-17

Executive brief

Netty's CORS handler is a component used to manage cross-origin requests in web applications. The handler silently overwrites cache-control headers set by applications, causing intermediate caches and CDNs to serve the same response to different users regardless of their authentication status. An attacker can retrieve another user's sensitive data through cache manipulation.

Technical details

The vulnerability exists in the `io.netty.handler.codec.http.cors.CorsHandler#setVaryHeader` method, which uses the `set()` operation to write the Vary header. This operation overwrites all existing Vary header values that backend applications may have configured (such as "Vary: Authorization" or "Vary: Cookie"). The `set()` method replaces the entire header rather than appending to it. When a backend application sets Vary headers to instruct intermediate caches to segregate responses per authorization context or user cookie, the CorsHandler overwrites this with "Vary: Origin" only. This causes caching proxies and CDNs to cache responses based solely on URL and Origin header, ignoring authentication context. An attacker can then retrieve cached responses intended for other users by requesting with the same URL and Origin. The vulnerability affects versions 4.1.x through 4.1.136.Final and 4.2.0.Final through 4.2.16.Final, with patches available in 4.1.137.Final and 4.2.17.Final.

Affected products

  • Netty netty-codec-http 4.1.0.Final to 4.1.136.Final, 4.2.0.Final to 4.2.16.Final

Timeline

  • 2026-08-17: disclosed: Published in GitHub Advisory Database
  • 2026-08-07: patched: Patches released: netty-4.1.137.Final and netty-4.2.17.Final

References

Related threats