Investigadores descobriram uma vulnerabilidade na Framework Spring que podia ser explorada remotamente pelos hackers.

Investigadores de segurança descobriram três vulnerabilidades no Spring Development Framework, uma delas podia ser explorada por um hacker remoto a fim de executar código arbitrário em aplicações construídas através da framework.

O Pivotal’s Spring é uma estrutura de software open-source e amplamente usada para o desenvolvimento de aplicações direcionadas para web. As versões do Spring Framework afetadas são 5.0 a 5.0.4, 4.3 a 4.3.14 e também as versões mais antigas.

O comunicado de segurança publicado pela Pivotal inclui detalhes técnicos das três vulnerabilidades a seguir:

  • CVE-2018-1270:  Execução de código remota. Classificado como “Critical”.

“Spring Framework versions 5.0 to 5.0.4, 4.3 to 4.3.14, and older unsupported versions allow applications to expose STOMP over WebSocket endpoints with a simple, in-memory STOMP broker through the spring-messaging module.” reads the advisory.

An attacker can send specially crafted messages to the broker in order to trigger the remote code execution flaw.

  • CVE-2018-1271: Directory Traversal no Spring MVC no SO Windows. Classificada como “High”.

“Spring Framework versions 5.0 to 5.0.4, 4.3 to 4.3.14, and older unsupported versions allow applications to configure Spring MVC to serve static resources (e.g. CSS, JS, images).” reads the advisory. 

An attacker can use a specially crafted URL to lead a directory traversal attack.

  • CVE-2018-1272: Multipart Content Pollution na Spring Framework. Classificada como: “Low”.

“When Spring MVC or Spring WebFlux server application (server A) receives input from a remote client, and then uses that input to make a multipart request to another server (server B), it can be exposed to an attack, where an extra multipart is inserted in the content of the request from server A, causing server B to use the wrong value for a part it expects. This could to lead privilege escalation, for example, if the part content represents a username or user roles.” reads the advisory.

An attacker that is able to guess the multipart boundary value chosen by server A for the multipart request to server B could successfully exploit the issue. This means that the attacker needs to gain the control of the server or have to find a way to see the HTTP log of server A through a separate attack vector.

 

Recomendação

As equipas de desenvolvimento precisam de atualizar o software para as versões mais recentes o mais rápido possível.