Expected Behavior Violation Affecting grpc package, versions <1.58.3 >=1.59.0, <1.59.5 >=1.60.0, <1.60.2 >=1.61.0, <1.61.3 >=1.62.0, <1.62.3 >=1.63.0, <1.63.2 >=1.64.0, <1.64.3 >=1.65.0, <1.65.4


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team

    Threat Intelligence

    EPSS
    0.04% (11th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-RUBY-GRPC-7641067
  • published 6 Aug 2024
  • disclosed 6 Aug 2024
  • credit Unknown

How to fix?

Upgrade grpc to version 1.58.3, 1.59.5, 1.60.2, 1.61.3, 1.62.3, 1.63.2, 1.64.3, 1.65.4 or higher.

Overview

Affected versions of this package are vulnerable to Expected Behavior Violation via the HPackParser function when the gRPC client is communicating with an HTTP/2 proxy, allowing the attacker to poison the HPACK table. By manipulating the header encoding and poisoning the HPACK table between the proxy and the backend, an attacker can cause other gRPC clients to see failed requests or potentially leak HTTP header keys but not their values.

This vulnerability exists 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.

CVSS Scores

version 4.0
version 3.1
Expand this section

Snyk

Recommended
6.3 medium
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    High
  • Attack Requirements (AT)
    None
  • Privileges Required (PR)
    None
  • User Interaction (UI)
    None
  • Confidentiality (VC)
    None
  • Integrity (VI)
    None
  • Availability (VA)
    Low
  • Confidentiality (SC)
    None
  • Integrity (SI)
    None
  • Availability (SA)
    Low