Spring és un framework Open Source per al desenvolupament d’aplicacions i contenidor d’inversió. és un dels més coneguts dins del seu segment i permet la creació d’aplicacions amb Java, encara que té extensions per a la creació d’aplicacions web sobre la plataforma Java EE.
MS Recomana
Fa poc es van descobrir a Spring 3 vulner abilidades, sent una d’elles crítica i d’execució de codi en remot que permetia als atacants executar codi arbitrari contra les aplicacions en què s’ha utilitzat l’esmentat framework per a la seva construcció. En l’avís publicat per pivotal, empresa encarregada de Spring, s’explica que han estat trobades en les versions de la 5.0 a la 5.0.4 i de la 4.3. a la 4.3.14, a més d’aquelles que ja no tenen suport oficial. Curiosament, cadascuna de les tres vulnerabilitats ha tingut una gravetat diferent.
La crítica és la ja esmentada execució de codi en remot, que a afecta spring-messaging i el seu codi és CVE-2018-1270. Segons la seva descripció, les versions vulnerables de Spring permeten a les aplicacions exposar STOMP sobre els endpoints d’websocket amb un intermediari STOMP simple en memòria a través de la lliçó spring-messaging. Un atacant podria crear un missatge específicament dissenyat per l’intermediari que podria portar a un atac d’execució codi en remot.
La vulnerabilitat considerada com de gravetat alta és de Directory Traversal, afecta Spring MVC sobre Windows i la seva codi és CVE-2018-1271. Les versions vulnerables de Spring permeten que les aplicacions configuren Sping MVC per servir recursos estàtics com CSS, JavaScript i imatges. Quan el recurs estàtic és servit des d’un sistema de fitxers en Windows (a diferència de classpath o ServletContext), un actor maliciós podria enviar una petició fent servir una URL específicament dissenyada que pot portar a un atac de tipus directory traversal.
La vulnerabilitat considerada com de gravetat lleu és una Contaminació multipart de l’Contingut, el codi és CVE-2018-1272. Les versions vulnerables de Spring ofereixen suport a la banda de el client per peticions multipart. Quan Spring MVC o una aplicació de servidor Spring WebFlux rep una entrada d’un client remot i la utilitza per fer peticions multipart a un altre servidor, aquest pot acabar exposat a un atac en el qual una multipart extra és inserida en el contingut de la petició des el servidor. El primer servidor causa que el segon faci servir un valor equivocat per la part que espera, i pot portar a una escalada de privilegis si el contingut de la part representa un nom d’usuari o rols d’usuari. Per tenir èxit, l’atacant hauria d’endevinar el valor límit multipart triat pel primer servidor per a la sol·licitud multipart a el segon servidor, requerint que l’atacant també tingui control sobre el servidor o la capacitat de veure el registre HTTP del primer servidor a través d’ un altre atac.
pivotal ja ha corregit les vulnerabilitats en les versions de manteniment 5.0.5 i 4.3.15 de Spring, a més d’actualitzar Spring Boot a les versions 2.0.1 i 1.5.11 perquè funcionin en les versions més recents de el framework. No cal dir que es urgeix a desenvolupadors i administradors actualitzar més aviat possible per evitar problemes.