
Я наткнулся на сложную ситуацию: я прочитал наГлавная страница 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, которая не содержит никаких проблем безопасности — она будет гораздо более протестированной/стабильной.