Как выполнить обновления безопасности Docker Alpine

Как выполнить обновления безопасности Docker Alpine

Я наткнулся на сложную ситуацию: я прочитал наГлавная страница Docker Alpineчто образ обновляется каждый месяц для второстепенных версий/исправлений безопасности. Пакеты с CVE не обновляются для стабильной версии (v3.17.*), но находятся в версии edge.

Я знаю, что есть возможность обновить пакет, указав версию релиза, например apk add git --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community. Но я не буду этого делать, потому что edgeон нестабилен.

Вот моя реальная жизненная ситуация:

Использую Docker Alpine 3.17.3, gitпакет находится на версии2.38.4-р1(страдает отCVE-2022-23521). Исправленная версия —2.39.1-р0но находится на грани.

Должен ли я просто смириться с тем фактом, что мой CI жалуется, и ждать исправления(й) в стабильной версии? Какой подход является наилучшим?

решение1

Эта CVE может привести к удаленному выполнению кода и классифицируется как критическая. Я думаю, что лучше использовать "нестабильную" версию, чем позволить вашему сервису быть подверженным ей. Просто проверьте, нет ли известных уязвимостей в версии, которую вы хотите установить.

Поскольку git находится в основной ветке (не в сообществе), вы можете установить версию Edge следующим образом:

apk add git --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main

С сегодняшнего дня будет установлен git (2.40.1-r0)

Есть много других вариантов, например, сборка git из исходного кода с предпочитаемой вами версией с многоэтапным выполнением, использование другого дистрибутива или поиск более старой версии пакета git, которая не содержит никаких проблем безопасности — она будет гораздо более протестированной/стабильной.

Связанный контент