Exploited vulnerabilitySun, 25 Oct 2026
HTTP2Shell: patch Brotli decoders on both HTTP paths
CVE-2026-111497 was added to CISA’s Known Exploited Vulnerabilities catalog. Check inbound requests and outbound HTTP clients that decompress untrusted Brotli content.
Article
The Canadian Centre for Cyber Security reports that CISA added the CVE on October 27. Google’s CNA assigned CVSS v4.0 9.2 and Amazon Linux assigned CVSS v3.1 8.1. Node.js rated it High and issued its update on October 21. A vulnerable decoder must actually decompress attacker-controlled Brotli data. Imperva demonstrated code execution through request and response paths in the official Node.js 24.22.0 Linux arm64 image. Version 24.22.1 rejected the same input.
Reject incoming Content-Encoding values containing br before a vulnerable decoder runs, including mixed case and multiple encodings. On outbound clients, remove br from Accept-Encoding and disable Brotli decompression or reject br responses before automatic decoding. A server can return Brotli without negotiation. Check .NET and Lambda vendor guidance and rebuild self-contained or container deployments where required.
Fixed releases by branch
- Google Brotli 1.0.10 / 1.1.1 / 1.2.1
- Node.js 22.23.4 / 24.22.1 / 26.12.1
- Python brotli 1.2.1 / brotlicffi 1.2.1.0
- Bun 1.4.4
- Envoy 1.40.0 / 1.39.3 / 1.38.6 / 1.37.8 (legacy: 1.36.12)
- Istio 1.31.2 / 1.30.6 (legacy: 1.29.9)
- 01
Send a compressed request or response
- 02
Trigger a vulnerable Brotli decoder
- 03
Crash the process, expose memory or execute code
- 01
Inventory both decompression paths
Identify the loaded decoder in web services, clients, proxies and containers. Prioritize untrusted inputs.
See what to doResources: 1
TWISA member solutions
Inventory both decompression paths
Identify the loaded decoder in web services, clients, proxies and containers. Prioritize untrusted inputs.
- 02
Restrict inbound compressed requests
Block br before decoding and verify direct backend paths.
See what to doResources: 2
TWISA member solutions
Restrict inbound compressed requests
Block br before decoding and verify direct backend paths.
- 03
Patch deployed components
Update runtimes and bindings, rebuild containers and embedded binaries, and restart or redeploy.
- 04
Test both HTTP paths and verify recovery
Use authorized tests to check incoming requests and outgoing responses separately. Compare WAF alerts, blocks and backend results.
See what to doResources: 2
TWISA member solutions
Test both HTTP paths and verify recovery
Use authorized tests to check incoming requests and outgoing responses separately. Compare WAF alerts, blocks and backend results.
Allow authorized traffic and apply controls at each layer.
- 01
Inventory both decompression paths
Identify the loaded decoder in web services, clients, proxies and containers. Prioritize untrusted inputs.
- 02
Restrict inbound compressed requests
Block br before decoding and verify direct backend paths.
- 03
Patch deployed components
Update runtimes and bindings, rebuild containers and embedded binaries, and restart or redeploy.
Feed logs and traffic data from each layer into monitoring and response.
- Test both HTTP paths and verify recoveryUse authorized tests to check incoming requests and outgoing responses separately. Compare WAF alerts, blocks and backend results.
TWISA member solutions
Inventory both decompression paths
Identify the loaded decoder in web services, clients, proxies and containers. Prioritize untrusted inputs.
Restrict inbound compressed requests
Block br before decoding and verify direct backend paths. SkyWAF can enforce a header policy. The SkyCloud offer runs through December 31, 2026 and requires first-time adopters to submit before-and-after assessment reports.
Test both HTTP paths and verify recovery
Use authorized tests to check incoming requests and outgoing responses separately. Compare WAF alerts, blocks and backend results.
Restrict inbound compressed requests → Virtual patching at the web perimeter
Imperva and Check Point published controls for this CVE. Verify coverage and blocking on the actual traffic path. Test outbound response handling separately.
Test both HTTP paths and verify recovery → Detect suspicious host activity
Correlate decoder activity, suspicious commands and outbound connections. Isolate affected nodes when supported.
Test both HTTP paths and verify recovery → Investigate compromise and credential exposure
Preserve application, proxy, container and host logs. Assess readable data and credentials before rotation and clean recovery.
Inventory both decompression paths → Limit access to data and service identities
Restrict access to data, keys and credentials available to the decoder process.
Test both HTTP paths and verify recovery → Correlate decoder and process events
Correlate decoder errors, crashes, process activity and unusual outbound connections across both HTTP paths.
Sources and further reading
- Canadian Centre for Cyber Security
- GitHub
- AWS
- Node.js
- GitHub
- GitHub
- GitHub
- GitHub
- Istio
- urllib3
- Envoy
- GitHub
- Amazon Linux
- Imperva
- Check Point
- GitHub
- GitHub
- PyPI
Alert updated: 2026/10/29. Check vendor guidance for the latest support and patch status.