---
id: CVE-2023-32731
aliases:
  - GHSA-cfgp-2977-2fmm
  - PYSEC-2026-1427
title: Connection confusion in gRPC
summary: Connection confusion in gRPC
severity: high
cvss: 7.4
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H'
vendor: grpc
product: 'io.grpc:grpc-protobuf'
ecosystem: maven
affected:
  - 'io.grpc:grpc-protobuf >= 1.53.0, < 1.53.1'
  - 'grpcio >= 1.53.0, < 1.53.1'
  - 'grpc >= 1.53.0, < 1.53.1'
  - 'grpcio >= 1.54.0, < 1.54.2'
  - 'grpc >= 1.54.0, < 1.54.2'
  - 'io.grpc:grpc-protobuf >= 1.54.0, < 1.54.2'
patched:
  - 'io.grpc:grpc-protobuf 1.53.1'
  - grpcio 1.53.1
  - grpc 1.53.1
  - grpcio 1.54.2
  - grpc 1.54.2
  - 'io.grpc:grpc-protobuf 1.54.2'
published: '2023-07-05'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:49:57.873321723Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-cfgp-2977-2fmm'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2023-32731'
  - url: 'https://github.com/grpc/grpc/issues/33463'
  - url: 'https://github.com/grpc/grpc/pull/32309'
  - url: 'https://github.com/grpc/grpc/pull/33005'
  - url: >-
      https://github.com/grpc/grpc/commit/29d8beee0ac2555773b2a2dda5601c74a95d6c10
  - url: >-
      https://github.com/grpc/grpc/commit/65a2a895afaf1d2072447b9baf246374b182a946
  - url: 'https://github.com/grpc/grpc/releases/tag/v1.53.1'
  - url: 'https://github.com/grpc/grpc/releases/tag/v1.54.2'
  - url: >-
      https://github.com/rubysec/ruby-advisory-db/blob/master/gems/grpc/CVE-2023-32731.yml
tags:
  - osv
  - maven
epss: 0.00498
epssPercentile: 0.40132
ingestedAt: '2026-07-08T18:25:48.357Z'
---

## Overview

When gRPC HTTP2 stack raised a header size exceeded error, it skipped parsing the rest of the HPACK frame. This caused any HPACK table mutations to also be skipped, resulting in a desynchronization of HPACK tables between sender and receiver. If leveraged, say, between a proxy and a backend, this could lead to requests from the proxy being interpreted as containing headers from different proxy clients - leading to an information leak that can be used for privilege escalation or data exfiltration.

## Affected packages

- `io.grpc:grpc-protobuf >= 1.53.0, < 1.53.1`
- `grpcio >= 1.53.0, < 1.53.1`
- `grpc >= 1.53.0, < 1.53.1`
- `grpcio >= 1.54.0, < 1.54.2`
- `grpc >= 1.54.0, < 1.54.2`
- `io.grpc:grpc-protobuf >= 1.54.0, < 1.54.2`

## Remediation

Upgrade to a patched release:

- `io.grpc:grpc-protobuf 1.53.1`
- `grpcio 1.53.1`
- `grpc 1.53.1`
- `grpcio 1.54.2`
- `grpc 1.54.2`
- `io.grpc:grpc-protobuf 1.54.2`
