Docker обновил свою платформу, чтобы устранить уязвимость Copy Fail — CVE-2026-31431. Эта проблема серьезно затрагивает безопасность Linux-систем, так как позволяет злоумышленникам получать доступ к файловой системе и потенциально повышать свои привилегии.
Уязвимость Copy Fail — что это такое?
CVE-2026-31431 была раскрыта 29 апреля 2026 года и затрагивает подсистему AF_ALG в ядре Linux. Уязвимость позволяет несанкционированным пользователям с доступом к AF_ALG-сокету выполнять контролируемые записи в кэш страниц, что открывает возможность модификации содержимого файлов на всем хосте. Особенно опасно это для бинарных файлов, которые, будучи модифицированными, могут позволить злоумышленнику получить root-доступ на контейнере.
Как Docker борется с этой угрозой
Версии Docker Engine до 29.4.3 позволяли создание AF_ALG-сокетов, что увеличивало риск. Однако пользователи, обновившие до версии 29.4.3 или выше, защищены от этой уязвимости. В то время как дистрибутивы Debian и RHEL 9 уже выпустили патчи для ядра, Ubuntu пока не успел, и свыше 60% пользователей остаются уязвимыми.
Для предотвращения данной ситуации команда разработчиков Docker применила обновление профилей seccomp, которое блокирует возможность создания AF_ALG-сокетов. Однако первая попытка патча привела к сбоям в работе 32-битных бинарных файлов, что потребовало дополнительной доработки.
Значение обновления для разработчиков
Для разработчиков это обновление критически важно, поскольку эксплуатация Copy Fail может ждать практически в любой непатченной версии Linux, выпущенной с 2017 года. Применение обновлений Docker Engine автоматически защищает контейнеры от уязвимостей, пока пользователи дистрибутивов не получат та же защита для своего ядра.
Изменения в Docker могут не устранить принципиально уязвимость, но значительно снизят риски для пользователей, которые не могут сразу обновить свои ядра. Если ваш дистрибутив получил патч, обязательно обновите своё ядро, чтобы избежать угроз безопасности.
Следующий шаг — соблюдение безопасности и постоянные обновления программного обеспечения для избежания потенциальных угроз. Разработчики должны следить за патчами и обновлениями, чтобы минимизировать риски.