Spring4shell : Vulnérabilité critique dans le framework Spring

Une faille critique a été découverte dans le framework Spring utilisé dans de nombreuses applications Java. Des exploits ont été confirmés. Une mesure de mitigation existe, en revanche aucun correctif n’est encore disponible.
 

Origine & description

Le 30 mars 2022, un chercheur chinois en cybersécurité a publié un PoC d’exploit reposant sur une vulnérabilité critique dans Spring Core. Le compte à l’origine du PoC a depuis été supprimé, mais la vulnérabilité a pu être conservée ; celle-ci ne dispose pas encore de CVE ni de score de criticité. Dans les faits, Spring4shell apporte un moyen de contournement au correctif apporté à une ancienne vulnérabilité, la CVE-2021-1622, qui permet l’injection de code arbitraire dans le Framework Spring.

Spring est un framework open source largement utilisé dans les applications en Java. En conséquence cette faille inquiète particulièrement l’ensemble des acteurs de la CyberSécurité. En effet, cette vulnérabilité critique dans un logiciel libre populaire n’est pas sans rappeler la vulnérabilité Log4Shell découverte fin 2021.

Exploit & contournement

Mercredi 30 mars 2022, deux analystes ont pu confirmer l’existence d’exploits reposant sur la vulnérabilité Spring4Shell, mais ces derniers considèrent que cette faille est moins critique que Log4Shell. La mise en œuvre de l’exploit nécessite en effet les prérequis suivants :

  • JDK version 9 ou ultérieures,
  • APache Tomcat (Servlet container),
  • Archivé en WAR,
  • Dépendance spring-webmvs ou spring-webflux.

On ignore pour le moment l’impact exact de cette vulnérabilité et le nombre d’applications concernées. Aucun correctif n’est encore disponible, mais la société Praetorian a, en revanche, déjà proposé une mesure temporaire de mitigation (voir références).