-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Http2Headers.isEmpty #10663
Conversation
Thanks for the PR @pkoenig10! |
Done |
Thanks for jumping on this one @pkoenig10, I'll get it merged. |
@temawi would it be possible to merge this and release a new version? We need this fix for Micronaut gRPC. 🙏 |
@sdelamo Merging is easy (and done) but I hesitate with the patch release as v1.60.0 is scheduled to come out in two weeks (11/28). Hoping you can wait for that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Any plans to backport this in prior versions? If yes, up to what version going backward and what is the timeline for those releases? |
About this, I am sorry to ask. But some products are being forced to bump netty due to CVE-2023-34062. That means that if you are integrating grpc-java, it is either; grpc does not work or you are left with a serious CVE. |
@abelsromero, that's unfortunate. It looks like io.projectreactor.netty is regularly performing non-essential upgrades in a patch releases, which is especially bad for a security release. Oh... they are following the Netty release branches, propagating the Netty choice of not having patch releases. And yes, that regularly causes problems for security fixes. Does 1.1.13 actually fix the security issue? I see nothing in the release notes related to the described CVE nor any commit since 1.1.12 that seems relevant. Looking through 1.0.x has less noise, because they forward-port instead of back-port changes, but nothing jumps out even when looking at the diffs. I'd suggest asking them what fixed the issue, as it looks like they may have made a mistake. (Dealing with security stuff requires going through different processes, and it is easy to make mistakes as you do it less frequently.) There is grpc-netty-shaded, which most users seem to be using and so wouldn't be impacted. But yeah, we'll probably need to do a patch release. |
Yes, that was already confirmed by the team. I went through the same steps as you described already. Some CVEs are fixed without much mention to prevent abuse, at least, that's what I take from the closed-door conversations. If you know what to look for, you can find the commit. At the end, I was requesting this in nice-2-have approach. The release is 10 days away, if it creates a big hassle for you, we'll deal with any inconveniences during the period 🤷. Mostly internal meetings and maybe some customers running a scanner asking when are we going to release our product. |
This pull request would fix grpc in micronaut. Just tested it. |
Awaiting this fix too |
I just released 1.59.1 (it is available on Maven Central; it doesn't matter if it is indexed by search.maven.org; just try using it). It has this backport. |
Fixes #10665
Using
grpc-netty
with Netty 4.1.101.Final results in the following error:In netty/netty@2657079, Netty introduced code that calls
Http2Headers.isEmpty
. However the gRPCHttp2Headers
implementations do not implement this method. I assume this is simply an oversight.AbstractHttp2Headers
feels a fairly brittle. There are a number of methods here that are not implemented by the concrete implementations. Future Netty versions could begin calling these methods and cause similar failures. I wonder if it might be better to eliminateAbstractHttp2Headers
to ensure that any unsupported methods are unsupported intentionally rather that accidentally. It seems like this isn't the first time there have been issues like this, see #7953.