-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[jjo] add docker-ce 18.06.2 for CVE-2019-5736 #6460
[jjo] add docker-ce 18.06.2 for CVE-2019-5736 #6460
Conversation
Fixes kubernetes#6459. * Update CoreOS, Debian Stretch and Ubuntu Bionic docker-ce packages to 18.06.2
Hi @jjo. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
FYI
|
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.
Thanks for the PR @jjo. I was opening up a similar one as well. I think for the moment, since this will likely be cherry-picked into a release branch, can we make this additive only and not remove any older versions?
Something like this should do it: https://github.com/kubernetes/kops/compare/master...mikesplain:add_docker?expand=1
nodeup/pkg/model/docker.go
Outdated
@@ -525,50 +525,50 @@ var dockerVersions = []dockerVersion{ | |||
|
|||
// 18.03.1 - Bionic | |||
{ | |||
DockerVersion: "18.03.1", |
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.
Can we leave all the existing versions and add these new versions instead?
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.
Thanks @mikesplain for the prompt feedback, added 18.06.2 instead
of replacing existing entries, PTAL.
Our docker version is actually defined here: kops/pkg/model/components/docker.go Lines 56 to 57 in 1cc14e2
We'll need to decide if we want to point that at the newer version of docker. I feel we should just allow users to set the docker version for now, suggest they set |
/ok-to-test |
/assign |
We're currently limited in enforcing this because k/k 1.11 is only verified on |
+1 on @mikesplain comment of not removing docker version and instead just adding new versions. Also let the users have to select the version and force and update at a later time. |
e2e tests are broken because of aws right now. |
Is there a reason ubuntu xenial is not being updated as well? |
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
/approve
We should likely cherry-pick this into 1.11 and cut a patch release @justinsb
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jjo, mikesplain The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/hold |
… Xenial, Bionic, Stretch)
@jjo I thought the patched version of Docker is 18.09.2? https://github.com/docker/docker-ce/releases/tag/v18.09.2 Nevermind, just saw the other release. Sorry! 😅 |
/test pull-kops-e2e-kubernetes-aws |
FYI these e2e tests will likely continue to fail due to an issue with the aws account. We'll force merge it when we're ready. Thanks for the patience all. |
@mikesplain I was about to say the same! 😄 Looking at the test fail it seems account related. Is there someone at the CNCF we can contact for resolution in the account? Obv, higher priority goes to merging this fix. |
@zparnold please check kubernetes/kubernetes#73444 (comment) |
Also added jessie patch here, should be merged after this one: #6461 |
Great work! Could you consider adding the rest of the patched version as mentioned here: #6459 (comment) ? |
@eyalzek those are enterprise versions that we can't support as far as I know and I don't believe they're patching the older community editions 😞 |
@mikesplain ah damn I didn't realize that! |
Any chance the new rancher binary for older versions of docker (specifically 17.03.2-ce) going to be supported (#6459 (comment)) or should we start testing with 18.06.2-ce for our clusters (considering we were still on the supported 17.03 versions before)? |
Thanks! @aledbf |
Hope we can get this merged in master soon :) 👍 |
Do the tests include spinning up GPU nodes as well. I am wondering if this approach - https://github.com/kubernetes/kops/tree/master/hooks/nvidia-device-plugin - will still work. |
could someone let us know what's the timeline before this lands in a patch release? please don't read my question as snarky, I'm genuinely asking because I would like to avoid workarounds like the ones listed in #6459 (with hooks) but at the same time, if this is gonna take a couple of weeks before released I will need to mitigate the threat on my clusters somehow. thanks 👍 |
Honestly, I think using rancher's patched docker-runc is the best way to patch for this CVE, at least until kops supports kubernetes v1.12. The solution proposed in this PR is to use a version of docker that hasnt been verified with any version of kubernetes that kops supports. v1.12 is the first version to support docker 18.06. It would be nice if kops could just use rancher's patched version of docker-runc (or maybe build your own) without us having to use a hook. To me, that seems like an interesting patch vector that should be considered? |
/retest |
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.
There are some errors on the CentOS configuration. To reproduce it:
- Create the cluster
- Let initial configurations finish and all PODs are running
- Restart a Node
When the kops-configuration
service kicks in, due to the issue I mentioned about container-seliniux
package name and version, it will try to reinstall. As it is already installed rpm
will fail with status code of 1
making the node unavailable
// 18.06.2 - CentOS / Rhel7 (two packages) | ||
{ | ||
DockerVersion: "18.06.2", | ||
Name: "container-selinux-2", |
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.
The name of the package is actually container-selinux
. If you let it as it is kops-configuration
will keep retrying to install and will fail causing the Node to be lost.
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.
Name: "container-selinux-2", | ||
Distros: []distros.Distribution{distros.DistributionRhel7, distros.DistributionCentos7}, | ||
Architectures: []Architecture{ArchitectureAmd64}, | ||
Version: "18.06.2.ce", |
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.
Here you should have the container-selinux
version 2.68
. If you let it as it is kops-configuration
will keep retrying to install and will fail causing the Node to be lost.
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.
Thanks for spotting - addressed in #6492
/test pull-kops-e2e-kubernetes-aws |
Is there going to be a new release of kops 1.10 / 1.11 with those changes? I think it's critical enough to be backported and it deserves a release. /cc @justinsb |
I agree with this 100%. It's awesome that it's been merged into master but what does that exactly mean for the release it's actually going to be available on? Don't really have a roadmap for kops 1.12 for this to be a thing. Would be great for a new release of 1.11.1 or something or make it back ported if possible. Thanks as always though :) |
Yes - we need to figure out what the right action is for 1.11. The choices seem to basically be "hotfix runc" or "run with a newer (maybe untested with 1.11) version of docker". Leaning towards the newer docker, but going to ask slack... |
@justinsb although I would prefer the updated docker version as well I'm afraid this is gonna be delayed further given 18.06.2 did not actually address the runc problem on redhat-based OSes (moby/moby#38739 (comment)). What's a bit troubling (for me) in this situation is that users are left without a clue as when there will be a kops release that is gonna address the issue. This is now out for a week and every day I was checking the progress of this. Could we have some visibility on the plan? ie: "this is gonna be released next week as 1.11.1" or "go ahead and patch your clusters with workarounds/hooks because this is not happening for X weeks". |
Fixes #6459.
docker-ce packages to 18.06.2