Spring4Shell

folclore

segurançaprogramação

Uma falha de execução remota de código de 2022 no Spring Framework para Java.

O Spring4Shell permitiu que atacantes obtivessem execução remota de código por meio do data binding em certas configurações do Spring. Surgindo logo após o Log4Shell, renovou a atenção sobre o risco trazido por dependências Java onipresentes.

O Spring4Shell foi uma vulnerabilidade de execução remota de código no Spring Framework, divulgada pouco depois do Log4Shell e inevitavelmente comparada a ele. A comparação é instrutiva sobretudo por quão diferentes os dois se revelaram.

O Log4Shell era trivialmente explorável em quase toda implantação que registrasse entrada de usuário, o que é quase todas. O Spring4Shell exigia uma combinação específica de versão do Java, empacotamento da implantação e configuração, então a população vulnerável era uma fração dos usuários do arcabouço. A cobertura inicial não fez essa distinção, e muitíssimos times passaram um fim de semana numa emergência que não se aplicava a eles.

Essa distância entre divulgação e aplicabilidade é o ponto duradouro. Notas de severidade descrevem o pior caso, não o seu caso, e a pergunta útil durante uma divulgação é se as precondições valem no seu ambiente, e não quão alto é o número. Times que sabiam responder rápido, porque conheciam o que rodavam e como estava configurado, gastaram uma hora onde outros gastaram dias. Inventário é o que converte uma manchete numa decisão.

Também conhecido como: Spring4Shell, CVE-2022-22965

Fontes

  • CVE-2022-22965 (2022)

Todos os verbetes do glossário