-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
[WIP] Add new integration and e2e tests for invalid client api version #15537
Conversation
Hey @ahrtr - Following on from our quick message yesterday I can confirm that when using Line 49 in 6f899a7
So I think this should probably be two tests, one verifying that the above overwrite continues to happen, and a second test with a more malicious injection of a bad value maybe sidestepping clientv3 to ensure etcd server end handles and does not panic but I will definitely need some guidance on how to approach that. |
Probably you can intentionally change the
|
The other way is to follow the same pattern as https://github.com/ahrtr/etcd-issues/blob/master/issues/13553/app_send_invalid_client_api_version.c, but it seems a little complicated; so I tend not to spend too much effort in this direction. |
Hey @ahrtr - A quick update on this, following your suggestion on setting I started tinkering with this to see if we could reuse the existing curl e2e test approach, let me know what you think of this 🙏🏻 |
I am afraid using |
I think you're right, we can set simple http headers with curl but I don't think that is going to be enough. How about using https://github.com/fullstorydev/grpcurl to talk direct to etcdserver in an e2e? It looks relatively straightforward I'm just not sure what parameter to pass for ~ grpcurl -plaintext localhost:2379 list
Failed to list services: server does not support the reflection API Edit: For clarity, with |
Signed-off-by: James Blair <mail@jamesblair.net>
Hey @ahrtr - On second thoughts, I'm not sure that adding more complexity to the e2e tests makes sense at the moment so if you are ok with it I think maybe we close this and the issue as not being a priority at the moment. |
It's OK to close it. Sorry for the confusion. |
This pull request adds new integration and e2e tests to verify etcd won't panic when encountering an invalid client api version which could result in a security denial of service issue with malicious client taking down the etcd cluster.
Fixes #13592