It was found that the 'portmap' plugin, used to setup HostPorts for CNI, would insert rules at the front of the iptables nat chains; which would take precedence over the KUBE- SERVICES chain. Because of this, the HostPort/portmap rule could match incoming traffic even if there were better fitting, more specific service definition rules like NodePorts later in the chain. Upstream issue: https://github.com/containernetworking/plugins/pull/269 Upstream patch: https://github.com/containernetworking/plugins/pull/269/commits/f8fcb3525fc5c4a2bdc1a791b5c7b46a29ef4f04
Upstream Patch: https://github.com/kubernetes/kubernetes/pull/75455 https://github.com/containernetworking/plugins/pull/269
External References: https://discuss.kubernetes.io/t/announce-security-release-of-kubernetes-affecting-certain-network-configurations-with-cni-releases-1-11-9-1-12-7-1-13-5-and-1-14-0-cve-2019-9946/5713
Created kubernetes tracking bugs for this issue: Affects: fedora-all [bug 1694243] Created kubernetes:1.1/kubernetes tracking bugs for this issue: Affects: fedora-29 [bug 1694241] Created kubernetes:openshift-3.10/origin tracking bugs for this issue: Affects: fedora-29 [bug 1694242] Created origin tracking bugs for this issue: Affects: fedora-all [bug 1694244]
Thanks for dcbw I was able to actually confirm OCP is *NOT* affected by this. The vulnerable code is pulled into the vendor/ section of the source tree, but this plugin is not being compiled or shipped.
Statement: While this issue affects the CNI portmap plugin that is bundled with Kubernetes, it does not affect OpenShift Container Platform as the vulnerable plugin is not included. It also does not affect the version of Kubernetes (embedded in heketi) shipped with Red Hat Gluster Storage 3 as it does not contain the vulnerable code.
Created containernetworking-cni tracking bugs for this issue: Affects: epel-7 [bug 1715371]
Created containernetworking-plugins tracking bugs for this issue: Affects: fedora-all [bug 1715758]