Cloudanix VulnDB

CVE-2024-7246

None

CVSS

—

EPSS

0.2%

Published

Aug 6, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in certain network communication libraries can let one user cause errors for others and see some of their request details when going through a shared server.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
High
Impact
Data Exposure
Component
Library
Class
Information Disclosure
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A gRPC client can send misencoded headers over HTTP/2 that are not cleared properly, poisoning the HPACK table shared between a proxy and backend; this causes subsequent incrementally indexed headers to trigger errors for other clients and allows leakage of HTTP header keys from other sessions.

Why it matters to the business

Clients experience unexpected request failures and limited exposure of header metadata, potentially disrupting service availability and reducing trust in shared proxy environments used by multiple tenants or services.

How an attack unfolds

An attacker acting as a gRPC client connects through an HTTP/2 proxy, crafts a request containing a header that triggers an error status without clearing it, poisons the HPACK table state, and observes or causes failed requests and header key leakage for other clients sharing the same connection path.

How to fix it

Upgrade gRPC to one of the fixed releases 1.58.3, 1.59.5, 1.60.2, 1.61.3, 1.62.3, 1.63.2, 1.64.3 or 1.65.4; for affected fort-validator packages update to the commit 554c5fa738791173dbf8261d68b4515708fc70ce or Debian package version 1.6.3-1.

How to confirm the fix worked

Verify installed gRPC or fort-validator versions match or exceed the listed fixed releases; monitor HPACK table behavior under concurrent client loads with crafted headers to confirm error status clearing occurs between reads.

Typical attack path

  1. Establish a gRPC-over-HTTP/2 connection via a proxy to the target backend
  2. Send a specially crafted request with a misencoded header that leaves an uncleared error status
  3. Trigger incremental header additions that become poisoned in the shared HPACK table
  4. Observe failed requests or leaked header keys affecting other clients

How to detect it

Review proxy and gRPC server logs for clusters of header encoding errors followed by failed requests from unrelated clients; look for repeated connections from a single source that precede widespread request failures.

What your security team should do

  • Prioritize upgrading all gRPC deployments to a fixed version immediately due to the published advisory
  • Audit proxy and backend configurations for shared HTTP/2 connections that could amplify cross-client impact
  • Implement header validation and error handling tests in CI pipelines to prevent regression

The record

It's possible for a gRPC client communicating with a HTTP/2 proxy to poison the HPACK table between the proxy and the backend such that other clients see failed requests. It's also possible to use this vulnerability to leak other clients HTTP header keys, but not values. This occurs because the error status for a misencoded header is not cleared between header reads, resulting in subsequent (incrementally indexed) added headers in the first request being poisoned until cleared from the HPACK table. Please update to a fixed version of gRPC as soon as possible. This bug has been fixed in 1.58.3, 1.59.5, 1.60.2, 1.61.3, 1.62.3, 1.63.2, 1.64.3, 1.65.4.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard grpc 0 1.65.4-r0
Chainguard grpc-dev 0 1.65.4-r0
Chainguard py3-grpcio 0 1.65.4-r0
Debian:11 grpc 0 No fix
Debian:12 grpc 0 No fix
Debian:13 grpc 0 No fix
Red Hat:ansible_automation_platform:2.4::el8 automation-controller 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-cli 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-server 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-ui 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-venv-tower 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-django 0 0:4.2.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-grpcio 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-grpcio-debuginfo 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-django 0 0:4.2.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-grpcio 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-grpcio-debugsource 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-cli 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-server 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-ui 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-venv-tower 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-django 0 0:4.2.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-grpcio 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-grpcio-debugsource 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-django 0 0:4.2.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-grpcio 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-grpcio-debuginfo 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-cli 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-server 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-ui 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-venv-tower 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-cli 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-server 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-ui 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-venv-tower 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:satellite:6.16::el8 ansible-collection-redhat-satellite 0 0:4.2.0-1.el8sat
Red Hat:satellite:6.16::el8 ansible-collection-redhat-satellite_operations 0 0:3.0.0-1.el8sat
Red Hat:satellite:6.16::el8 ansible-lint 0 0:5.4.0-1.el8pc
Red Hat:satellite:6.16::el8 ansible-runner 0 0:2.2.1-6.el8sat
Red Hat:satellite:6.16::el8 ansiblerole-foreman_scap_client 0 0:0.3.0-1.el8sat
Red Hat:satellite:6.16::el8 ansiblerole-insights-client 0 0:1.7.1-2.el8sat
Red Hat:satellite:6.16::el8 candlepin 0 0:4.4.16-1.el8sat
Red Hat:satellite:6.16::el8 candlepin-selinux 0 0:4.4.16-1.el8sat
Red Hat:satellite:6.16::el8 cjson 0 0:1.7.17-1.el8sat
Red Hat:satellite:6.16::el8 cjson-debuginfo 0 0:1.7.17-1.el8sat
Red Hat:satellite:6.16::el8 cjson-debugsource 0 0:1.7.17-1.el8sat
Red Hat:satellite:6.16::el8 createrepo_c 0 0:1.1.3-1.el8pc
Red Hat:satellite:6.16::el8 createrepo_c-debuginfo 0 0:1.1.3-1.el8pc
Red Hat:satellite:6.16::el8 createrepo_c-debugsource 0 0:1.1.3-1.el8pc
Red Hat:satellite:6.16::el8 createrepo_c-libs 0 0:1.1.3-1.el8pc
Red Hat:satellite:6.16::el8 createrepo_c-libs-debuginfo 0 0:1.1.3-1.el8pc
Red Hat:satellite:6.16::el8 dynflow-utils 0 0:1.6.3-1.el8sat
Red Hat:satellite:6.16::el8 foreman 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-bootloaders-redhat 0 0:202102220000-3.el8sat
Red Hat:satellite:6.16::el8 foreman-bootloaders-redhat-tftpboot 0 0:202102220000-3.el8sat
Red Hat:satellite:6.16::el8 foreman-cli 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-debug 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-discovery-image 0 1:4.1.0-61.el8sat
Red Hat:satellite:6.16::el8 foreman-discovery-image-service 0 0:1.0.0-4.1.el8sat
Red Hat:satellite:6.16::el8 foreman-discovery-image-service-tui 0 0:1.0.0-4.1.el8sat
Red Hat:satellite:6.16::el8 foreman-dynflow-sidekiq 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-ec2 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-fapolicyd 0 0:1.0.1-3.el8sat
Red Hat:satellite:6.16::el8 foreman-installer 0 1:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-installer-katello 0 1:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-journald 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-libvirt 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-obsolete-packages 0 0:1.10-1.el8sat
Red Hat:satellite:6.16::el8 foreman-openstack 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-ovirt 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-pcp 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-postgresql 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-proxy 0 0:3.12.0-1.el8sat
Red Hat:satellite:6.16::el8 foreman-proxy-content 0 0:4.14.0-0.1.rc2.el8sat
Red Hat:satellite:6.16::el8 foreman-proxy-fapolicyd 0 0:1.0.1-3.el8sat
Red Hat:satellite:6.16::el8 foreman-proxy-journald 0 0:3.12.0-1.el8sat
Red Hat:satellite:6.16::el8 foreman-redis 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-selinux 0 0:3.12.0-1.el8sat
Red Hat:satellite:6.16::el8 foreman-service 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-telemetry 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 foreman-vmware 0 0:3.12.0.1-1.el8sat
Red Hat:satellite:6.16::el8 katello 0 0:4.14.0-0.1.rc2.el8sat
Red Hat:satellite:6.16::el8 katello-certs-tools 0 0:2.10.0-1.el8sat
Red Hat:satellite:6.16::el8 katello-client-bootstrap 0 0:1.7.9-1.el8sat
Red Hat:satellite:6.16::el8 katello-common 0 0:4.14.0-0.1.rc2.el8sat
Red Hat:satellite:6.16::el8 katello-debug 0 0:4.14.0-0.1.rc2.el8sat
Red Hat:satellite:6.16::el8 katello-selinux 0 0:5.0.2-1.el8sat
Red Hat:satellite:6.16::el8 libcomps 0 0:0.1.21-1.el8pc
Red Hat:satellite:6.16::el8 libcomps-debuginfo 0 0:0.1.21-1.el8pc
Red Hat:satellite:6.16::el8 libcomps-debugsource 0 0:0.1.21-1.el8pc
Red Hat:satellite:6.16::el8 libsodium 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.16::el8 libsodium-debuginfo 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.16::el8 libsodium-debugsource 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.16::el8 libsolv 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 libsolv-debuginfo 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 libsolv-debugsource 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 libsolv-demo-debuginfo 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 libsolv-tools-debuginfo 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 mosquitto 0 0:2.0.19-1.el8sat
Red Hat:satellite:6.16::el8 mosquitto-debuginfo 0 0:2.0.19-1.el8sat
Red Hat:satellite:6.16::el8 mosquitto-debugsource 0 0:2.0.19-1.el8sat
Red Hat:satellite:6.16::el8 perl-solv-debuginfo 0 1:0.7.20-6.el8sat
Red Hat:satellite:6.16::el8 postgresql-evr 0 0:0.0.2-3.el8sat
Red Hat:satellite:6.16::el8 pulpcore-obsolete-packages 0 0:1.2.0-1.el8pc
Red Hat:satellite:6.16::el8 pulpcore-selinux 0 0:2.0.1-1.el8pc
Red Hat:satellite:6.16::el8 puppet-agent 0 0:8.8.1-1.el8sat
Red Hat:satellite:6.16::el8 puppet-agent-oauth 0 0:0.5.10-1.el8sat
Red Hat:satellite:6.16::el8 puppet-foreman_scap_client 0 0:1.0.0-2.el8sat
Red Hat:satellite:6.16::el8 puppetlabs-stdlib 0 0:9.4.1-1.el8sat
Red Hat:satellite:6.16::el8 puppetserver 0 0:8.6.2-2.el8sat
Red Hat:satellite:6.16::el8 python-aiodns 0 0:3.0.0-7.el8pc
Red Hat:satellite:6.16::el8 python-aiofiles 0 0:22.1.0-5.el8pc
Red Hat:satellite:6.16::el8 python-aiohttp 0 0:3.9.4-1.el8pc
Red Hat:satellite:6.16::el8 python-aiohttp-debugsource 0 0:3.9.4-1.el8pc
Red Hat:satellite:6.16::el8 python-aiohttp-xmlrpc 0 0:1.5.0-6.el8pc
Red Hat:satellite:6.16::el8 python-aioredis 0 0:2.0.1-6.el8pc
Red Hat:satellite:6.16::el8 python-aiosignal 0 0:1.3.1-5.el8pc
Red Hat:satellite:6.16::el8 python-ansible-builder 0 0:3.0.0-1.el8pc
Red Hat:satellite:6.16::el8 python-asgiref 0 0:3.6.0-5.el8pc
Red Hat:satellite:6.16::el8 python-async-lru 0 0:1.0.3-5.el8pc
Red Hat:satellite:6.16::el8 python-async-timeout 0 0:4.0.2-6.el8pc
Red Hat:satellite:6.16::el8 python-asyncio-throttle 0 0:1.0.2-7.el8pc
Red Hat:satellite:6.16::el8 python-attrs 0 0:21.4.0-6.el8pc
Red Hat:satellite:6.16::el8 python-backoff 0 0:2.2.1-5.el8pc
Red Hat:satellite:6.16::el8 python-bindep 0 0:2.11.0-5.el8pc
Red Hat:satellite:6.16::el8 python-bleach 0 0:3.3.1-6.el8pc
Red Hat:satellite:6.16::el8 python-bleach-allowlist 0 0:1.0.3-7.el8pc
Red Hat:satellite:6.16::el8 python-bracex 0 0:2.2.1-6.el8pc
Red Hat:satellite:6.16::el8 python-brotli 0 0:1.0.9-6.el8pc
Red Hat:satellite:6.16::el8 python-brotli-debugsource 0 0:1.0.9-6.el8pc
Red Hat:satellite:6.16::el8 python-certifi 0 0:2022.12.7-5.el8pc
Red Hat:satellite:6.16::el8 python-cffi 0 0:1.15.1-5.el8pc
Red Hat:satellite:6.16::el8 python-cffi-debugsource 0 0:1.15.1-5.el8pc
Red Hat:satellite:6.16::el8 python-chardet 0 0:5.0.0-2.el8pc
Red Hat:satellite:6.16::el8 python-charset-normalizer 0 0:2.1.1-5.el8pc
Red Hat:satellite:6.16::el8 python-click 0 0:8.1.3-5.el8pc
Red Hat:satellite:6.16::el8 python-click-shell 0 0:2.1-7.el8pc
Red Hat:satellite:6.16::el8 python-colorama 0 0:0.4.4-7.el8pc
Red Hat:satellite:6.16::el8 python-commonmark 0 0:0.9.1-9.el8pc
Red Hat:satellite:6.16::el8 python-contextlib2 0 0:21.6.0-7.el8pc
Red Hat:satellite:6.16::el8 python-cryptography 0 0:42.0.8-1.el8pc
Red Hat:satellite:6.16::el8 python-cryptography-debugsource 0 0:42.0.8-1.el8pc
Red Hat:satellite:6.16::el8 python-daemon 0 0:2.3.1-3.el8sat
Red Hat:satellite:6.16::el8 python-dataclasses 0 0:0.8-7.el8pc
Red Hat:satellite:6.16::el8 python-dateutil 0 0:2.8.2-5.el8pc
Red Hat:satellite:6.16::el8 python-debian 0 0:0.1.44-7.el8pc
Red Hat:satellite:6.16::el8 python-defusedxml 0 0:0.7.1-7.el8pc
Red Hat:satellite:6.16::el8 python-deprecated 0 0:1.2.13-5.el8pc
Red Hat:satellite:6.16::el8 python-diff-match-patch 0 0:20200713-7.el8pc
Red Hat:satellite:6.16::el8 python-distro 0 0:1.7.0-4.el8pc
Red Hat:satellite:6.16::el8 python-django 0 0:4.2.16-1.el8pc
Red Hat:satellite:6.16::el8 python-django-filter 0 0:23.2-4.el8pc
Red Hat:satellite:6.16::el8 python-django-guid 0 0:3.3.0-5.el8pc
Red Hat:satellite:6.16::el8 python-django-import-export 0 0:3.1.0-4.el8pc
Red Hat:satellite:6.16::el8 python-django-lifecycle 0 0:1.0.0-4.el8pc
Red Hat:satellite:6.16::el8 python-django-readonly-field 0 0:1.1.2-4.el8pc
Red Hat:satellite:6.16::el8 python-djangorestframework 0 0:3.14.0-4.el8pc
Red Hat:satellite:6.16::el8 python-djangorestframework-queryfields 0 0:1.0.0-8.el8pc
Red Hat:satellite:6.16::el8 python-docutils 0 0:0.20.1-4.el8pc
Red Hat:satellite:6.16::el8 python-drf-access-policy 0 0:1.3.0-4.el8pc
Red Hat:satellite:6.16::el8 python-drf-nested-routers 0 0:0.93.4-6.el8pc
Red Hat:satellite:6.16::el8 python-drf-spectacular 0 0:0.26.5-5.el8pc
Red Hat:satellite:6.16::el8 python-dynaconf 0 0:3.1.12-4.el8pc
Red Hat:satellite:6.16::el8 python-ecdsa 0 0:0.18.0-5.el8pc
Red Hat:satellite:6.16::el8 python-enrich 0 0:1.2.6-7.el8pc
Red Hat:satellite:6.16::el8 python-et-xmlfile 0 0:1.1.0-6.el8pc
Red Hat:satellite:6.16::el8 python-flake8 0 0:5.0.0-3.el8pc
Red Hat:satellite:6.16::el8 python-frozenlist 0 0:1.3.3-5.el8pc
Red Hat:satellite:6.16::el8 python-frozenlist-debugsource 0 0:1.3.3-5.el8pc
Red Hat:satellite:6.16::el8 python-future 0 0:0.18.3-5.el8pc
Red Hat:satellite:6.16::el8 python-galaxy-importer 0 0:0.4.19-2.el8pc
Red Hat:satellite:6.16::el8 python-gitdb 0 0:4.0.10-5.el8pc
Red Hat:satellite:6.16::el8 python-gitpython 0 0:3.1.40-3.el8pc
Red Hat:satellite:6.16::el8 python-gnupg 0 0:0.5.0-4.el8pc
Red Hat:satellite:6.16::el8 python-googleapis-common-protos 0 0:1.59.1-4.el8pc
Red Hat:satellite:6.16::el8 python-grpcio 0 0:1.65.4-1.el8pc
Red Hat:satellite:6.16::el8 python-grpcio-debugsource 0 0:1.65.4-1.el8pc
Red Hat:satellite:6.16::el8 python-gunicorn 0 0:22.0.0-1.el8pc
Red Hat:satellite:6.16::el8 python-importlib-metadata 0 0:6.0.1-3.el8pc
Red Hat:satellite:6.16::el8 python-inflection 0 0:0.5.1-6.el8pc
Red Hat:satellite:6.16::el8 python-iniparse 0 0:0.4-39.el8pc
Red Hat:satellite:6.16::el8 python-jinja2 0 0:3.1.4-1.el8pc
Red Hat:satellite:6.16::el8 python-jq 0 0:1.6.0-3.el8pc
Red Hat:satellite:6.16::el8 python-json-stream 0 0:2.3.2-4.el8pc
Red Hat:satellite:6.16::el8 python-json-stream-rs-tokenizer 0 0:0.4.25-3.el8pc
Red Hat:satellite:6.16::el8 python-jsonschema 0 0:4.10.3-3.el8pc
Red Hat:satellite:6.16::el8 python-lockfile 0 0:0.12.2-4.el8pc
Red Hat:satellite:6.16::el8 python-lxml 0 0:4.9.2-4.el8pc

Related vulnerabilities