
Me deparei com uma situação complicada: li noPágina principal do Docker Alpineque a imagem está sendo atualizada todos os meses para versões secundárias/correções de segurança. Pacotes com CVE não são atualizados para a versão estável (v3.17.*), mas estão na edge
versão.
Eu sei que existe a possibilidade de atualizar um pacote especificando a versão de lançamento como apk add git --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
. Não farei isso porque edge
não é estável.
Aqui está minha situação de vida real:
Usando Docker Alpine 3.17.3, o git
pacote está na versão2.38.4-r1(sofrendo deCVE-2022-23521). A versão fixa é2.39.1-r0mas está no limite.
Devo simplesmente conviver com o fato de meu CI estar reclamando e esperar que as correções estejam disponíveis em uma versão estável? Qual é a melhor abordagem?
Responder1
Este CVE pode resultar na execução remota de código e é classificado como crítico. Acho que é melhor usar a versão "instável" do que permitir que seu serviço seja exposto a ela. Basta verificar se há alguma vulnerabilidade conhecida na versão que você deseja instalar.
Como o git está no branch principal (não na comunidade), você pode instalar a versão Edge assim:
apk add git --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main
A partir de hoje ele instalará o git (2.40.1-r0)
Existem muitas outras opções, como construir o git a partir do código-fonte com sua versão preferida com vários estágios, usar uma distribuição diferente ou encontrar uma versão mais antiga do pacote git que não contenha nenhum problema de segurança - será muito mais testado/estável