Technical blog

Vulnérabilité dans Spring Framework

Contexte :

Plusieurs vulnérabilités critiques ont été découvertes dans la bibliothèque Spring Framework et son écosystème conduisant à l'exécution de code à distance (Remote Code Execution, RCE). L'une se trouve dans Spring Core et l'autre dans Spring Cloud Functions.

Spring Core est un framework largement utilisé dans les applications Java et les projets de développements d'application Java/J2EE.

Des CVE (Common Vulnerabilities and Exposures) ont été publiés :

  • CVE-2022-22946 : Spring Cloud Gateway HTTP2 TrustManager non sécurisé
  • CVE-2022-22947 : Vulnérabilité d'injection de code Spring Cloud Gateway
  • CVE-2022-22963 : Exécution de code distance dans Spring Cloud Function par Spring Expression malveillante
  • CVE-2022-22965 : Spring Framework RCE via Data Binding sur JDK 9+

Quelles sont les versions Spring affectés ?

CVE-2022-22946:

Spring Cloud Gateway :

  • 3.1.0

Note : La gravité est moyenne, sauf indication contraire.

CVE-2022-22947:

Spring Cloud Gateway :

  • 3.1.0
  • 3.0.0 à 3.0.6
  • Les anciennes versions non prises en charge sont également affectées.

Note : La gravité est critique, sauf indication contraire.

CVE-2022-22963:

Spring Cloud Function :

  • 3.1.6
  • 3.2.2
  • Les anciennes versions non prises en charge sont également affectées.

Note : La gravité est critique, sauf indication contraire.

CVE-2022-22965:

Spring Framework :

  • 5.3.0 to 5.3.17
  • 5.2.0 to 5.2.19
  • Les anciennes versions non prises en charges sont également affectées.

Voici les conditions préalables à l'exploitation de la vulnérabilité :

  • JDK 9 ou supérieur
  • Apache Tomcat comme serveur d'application
  • Packagé comme WAR
  • Dépendence spring-webmvc ou spring-webflux

Note : La gravité est critique, sauf indication contraire.

ARender est-il concerné par ces failles de sécurité ?

Les applications ARender UI (frontend) et ARender Rendition (backend) n'utilisent pas la librairie de Spring Cloud Function, ni la librairie Spring Cloud Gateway.
Elles ne sont donc pas concernées par les vulnérabilités des CVE suivants :

  • CVE-2022-22946
  • CVE-2022-22947
  • CVE-2022-22963

ARender Rendition est composé de microservices Spring Boot en jar exécutable et n'est donc pas vulnérable au CVE-2022-22695.
ARender UI n'utilise pas la librairie Spring-webflux mais embarque Spring-webmvc. ARender nécessite également un JDK 8 minimum.

Des analyses et des tests ont été effectué afin de vérifier la sécurité de l'application. Il n'y a pas eu de vulnérabilité détecté dans le composant ARender UI.

Conclusion

ARender n'est pas affecté par les récentes vulnérabilités découvertes dans l'écosystème Spring. Nous resterons, néanmoins, vigilants sur les futures découvertes liées ou non à ces failles.