O Jenkins, um servidor de código aberto usado para executar tarefas automatizadas, pode ser invadido para iniciar ataques de negação de serviço distribuída (mais conhecidos por DDoS). Os ataques DDoS são possíveis devido a uma vulnerabilidade na base de código Jenkins. O bug (rastreado como CVE-2020-2100) foi corrigido no Jenkins v2.219, lançado no mês passado.
Servidores Jenkins podem sofrer ataques DDoS
De acordo com o aviso de segurança da Jenkins, as instalações da Jenkins suportam dois protocolos de descoberta de rede, a saber, um protocolo UDP multicast/broadcast e um segundo protocolo DNS multicast.
Ambos os protocolos estão ativados por padrão. Eles são usados para que os servidores Jenkins possam se detectar e trabalhar em clusters.
O protocolo UDP é universalmente conhecido por permitir que os atacantes ampliem parte do tráfego de ataques DDoS. Depois o direcionem para o destino pretendido do ataque.
No ano passado, Adam Thorn, da Universidade de Cambridge, descobriu que um invasor poderia fazer o mesmo com o protocolo Jenkins UDP (ativo na porta UDP 33848) e abusar dele para amplificar e rejeitar parte do tráfego de ataques DDoS.
Uma solicitação de byte único para este serviço responderia com mais de 100 bytes de metadados do Jenkins, que poderiam ser usados em um ataque DDoS a um mestre Jenkins”, disse a equipe do Jenkins, sugerindo que os servidores Jenkins poderiam ser invadidos em ataques DDoS que ampliam o tráfego inicial em até 100 vezes em direção a alvos de ataque.
Um fator de amplificação 100 é considerado acima da média, sendo bastante perigoso.
No entanto, o ZDNet solicitou a uma fonte da comunidade de mitigação de DDoS que testasse esse vetor de ataque na semana passada. Os resultados mostraram que, apesar de ter um fator de amplificação bastante grande, o ataque não é confiável. Os servidores Jenkins (expostos à Internet) tendem a travar quando abusados dessa maneira.
O problema maior, porém, é que o mesmo bug tem um efeito secundário. Assim, os servidores Jenkins podem ser enganados a enviar pacotes contínuos entre si. Então, faz com que os servidores Jenkins na Internet entrem em um loop infinito e, eventualmente, travem.
As empresas que têm servidores Jenkins expostos na Internet devem atualizar para a v2.219 ou, pelo menos, bloquear qualquer tráfego de entrada na porta