Первая критическая уязвимость в Kubernetes
Жутковатая дыра CVE-2018-1002105: после отправки через API запросов не закрывается сетевое соединение. Например, можно отправить discovery-запрос. После этого отправленные через API запросы будут восприняты бэкенд-сервисами как внутренние запросы от сервера API, отправленные с использованием параметров аутентификации сервера API. В результате можно проводить многие операции с бэкендом, в том числе выполнить произвольный код. По умолчанию discovery-запросы доступны даже неавторизованным пользователям, что можно отключить опцией "--anonymous-auth=false".
Проблема в обратном прокси в фронтенде Kubernetes. Когда он осуществляет процедуру открытия вебсокета, то не проверяет ответ сервера и создает соединение даже при ответе 404. Клиенту при этом придет 404, но соединение все равно будет открыто. Причем прокси осуществляет аутентификацию собственными кредами, чего достаточно для многих операций бэкендов даже без собственной авторизации пользователя.
Проблема исправлена в версиях 1.10.11, 1.11.5, 1.12.3 и новом выпуске 1.13.
Подробное описание бага: https://rancher.com/blog/2018/2018-12-04-k8s-cve/
Пример эксплойта: https://github.com/evict/poc_CVE-2018-1002105