Spring4Shell
folcloreseguranç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)