Skip to content

Resolve CVE-2023-32731#4647

Merged
utpilla merged 2 commits into
open-telemetry:mainfrom
reyang:reyang/CVE-2023-32731
Jul 11, 2023
Merged

Resolve CVE-2023-32731#4647
utpilla merged 2 commits into
open-telemetry:mainfrom
reyang:reyang/CVE-2023-32731

Conversation

@reyang

@reyang reyang commented Jul 10, 2023

Copy link
Copy Markdown
Member

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.

grpc/grpc#32309

@reyang reyang requested a review from a team July 10, 2023 23:16
@codecov

codecov Bot commented Jul 10, 2023

Copy link
Copy Markdown

Codecov Report

Merging #4647 (ab4ce47) into main (66a6062) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #4647   +/-   ##
=======================================
  Coverage   84.98%   84.99%           
=======================================
  Files         314      314           
  Lines       12683    12685    +2     
=======================================
+ Hits        10779    10781    +2     
  Misses       1904     1904           
Impacted Files Coverage Δ
...tation.AspNetCore/Implementation/HttpInListener.cs 90.47% <100.00%> (+0.10%) ⬆️

Comment thread Directory.Packages.props
<PackageVersion Include="Google.Protobuf" Version="[3.19.4,4.0)" />
<PackageVersion Include="Grpc" Version="[2.44.0,3.0)" />
<PackageVersion Include="Grpc.Net.Client" Version="[2.45.0,3.0)" />
<PackageVersion Include="Grpc.Net.Client" Version="[2.52.0,3.0)" />

@alanwest alanwest Jul 11, 2023

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure 2.52.0 contains the fix? Based on the PR you reference, it looks like when it was merged its commit is tagged with 2.53.0 grpc/grpc@29d8bee

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, my mistake the fix was the PR is against the core grpc repo not Grpc.Net.Client.

@utpilla utpilla Jul 11, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2.52.0 is also the lowest available version of the package with no known vulnerabilities.

https://www.nuget.org/packages/Grpc.Net.Client

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://www.nuget.org/packages/Grpc.Net.Client this is the one we'll be using.
I guess the general rule here is to reference the lowest version that is not deprecated?

image

@alanwest

Copy link
Copy Markdown
Member

@Kielek heads up...

@utpilla

utpilla commented Jul 11, 2023

Copy link
Copy Markdown
Contributor

@open-telemetry/dotnet-instrumentation-maintainers FYI

@utpilla utpilla merged commit f95c689 into open-telemetry:main Jul 11, 2023
@reyang reyang deleted the reyang/CVE-2023-32731 branch July 11, 2023 22:07
@Kielek

Kielek commented Jul 19, 2023

Copy link
Copy Markdown
Member

@alanwest, thanks for the information. Unfortunately, it is a good reason to update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants