{"id":"CVE-2023-32731","published":"2023-06-09T10:54:08Z","modified":"2024-09-26T19:12:06Z","title":"Information leak in gRPC","vendor":"Google","product":"gRPC","tier":"tail","description":{"text":"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. We recommend upgrading beyond the commit contained in  https://github.com/grpc/grpc/pull/33005 https://github.com/grpc/grpc/pull/33005 \n","provenance":"source","from":"CVE.org"},"cvss":{"score":7.4,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00498,"percentile":0.42687,"provenance":"source"},"cwes":[{"id":"CWE-440","name":"Expected Behavior Violation"}],"references":[{"url":"https://github.com/grpc/grpc/pull/32309","tags":[]},{"url":"https://github.com/grpc/grpc/pull/33005","tags":[]}],"priority":{"score":13.7,"factors":[{"name":"EPSS percentile","points":8.54},{"name":"CVSS severity","points":5.18}]},"vendorSlug":"google","affectedVersions":[{"vendor":"Google","product":"gRPC","versions":[">= 1.53, <= 1.54"]}],"affected":[{"ecosystem":"Maven","package":"io.grpc:grpc-protobuf","vulnerableRanges":[">=1.53.0, <1.53.1",">=1.54.0, <1.54.2"],"patched":["1.53.1","1.54.2"],"from":["GHSA-cfgp-2977-2fmm"],"provenance":"source"},{"ecosystem":"PyPI","package":"grpcio","vulnerableRanges":[">=1.53.0, <1.53.1",">=1.54.0, <1.54.2"],"patched":["1.53.1","1.54.2"],"from":["GHSA-cfgp-2977-2fmm","PYSEC-2026-1427"],"provenance":"source"},{"ecosystem":"RubyGems","package":"grpc","vulnerableRanges":[">=1.53.0, <1.53.1",">=1.54.0, <1.54.2"],"patched":["1.53.1","1.54.2"],"from":["GHSA-cfgp-2977-2fmm"],"provenance":"source"}],"euvd":{"id":"EUVD-2023-2030","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-google-grpc-cve-2023-1428","parents":[{"from":"CVE-2023-1428","to":"CVE-2023-32731","relation":"successor","confidence":"high","kind":"lineage","orderedBy":"description","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:grpcio","fromFixed":"1.53.0","toFixed":"1.53.1","daysApart":0},{"kind":"version-step","provenance":"source","package":"RubyGems:grpc","fromFixed":"1.53.0","toFixed":"1.53.1","daysApart":0},{"kind":"same-code","provenance":"machine","files":["src/core/ext/transport/chttp2/transport/hpack_parser.cc","src/core/lib/transport/metadata_batch.h"],"commits":["https://github.com/grpc/grpc/commit/2485fa94bd8a723e5c977d55a3ce10b301b437f8","https://github.com/grpc/grpc/commit/29d8beee0ac2555773b2a2dda5601c74a95d6c10","https://github.com/grpc/grpc/commit/65a2a895afaf1d2072447b9baf246374b182a946"],"basis":"shared function","functions":["HPackParser"]}]}],"packageHistory":[{"cve":"CVE-2017-8359","published":"2017-04-30","fixed":"1.3.0","kev":false},{"cve":"CVE-2023-1428","published":"2023-06-09","fixed":"1.53.0","kev":false},{"cve":"CVE-2023-32731","published":"2023-06-09","fixed":"1.54.2","kev":false},{"cve":"CVE-2023-32732","published":"2023-06-09","fixed":"1.54.2","kev":false},{"cve":"CVE-2023-4785","published":"2023-09-13","fixed":"1.55.3","kev":false,"link":{"from":"CVE-2023-32731","to":"CVE-2023-4785","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:grpcio","fromFixed":"1.54.2","toFixed":"1.54.3","daysApart":96},{"kind":"version-step","provenance":"source","package":"RubyGems:grpc","fromFixed":"1.54.2","toFixed":"1.54.3","daysApart":96}]}},{"cve":"CVE-2023-33953","published":"2023-08-09","fixed":"1.56.2","kev":false,"link":{"from":"CVE-2023-32731","to":"CVE-2023-33953","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:grpcio","fromFixed":"1.53.1","toFixed":"1.53.2","daysApart":61},{"kind":"version-step","provenance":"source","package":"RubyGems:grpc","fromFixed":"1.53.1","toFixed":"1.53.2","daysApart":61}]}}],"package":"PyPI:grpcio"}}