Overview
About vulnerability
Spring MVC applications using the functional web framework are vulnerable to stream corruption when using Server-Sent Events (SSE).
More precisely, an application can be vulnerable when all the following are true:
- the application is using Spring MVC’s functional web framework (
RouterFunction,ServerResponse.sse()) - the application is sending streaming data to clients using Server Sent Events (SSE)
- the attacker must have control over data that will be streamed to other users of the application
- the application is not using a structured message format like JSON, but plain text messages instead
When all the conditions above are met, the attacker might corrupt the stream of data sent to other users. Depending on the frontend application logic, this could corrupt state or present malicious information to other users.
Details
- Affected product:
- Apache CXF , Apache Log4j , Apache Tomcat , Eclipse Jetty , Spring , activemq , amqp-10-jms-spring-boot , artemis , azure-spring-data-cosmos , camel , cypher-dsl , grails-core , grails-data-mapping , grails-gsp , grails-plugin-converters , java-sdk , micronaut-spring , pulsar , tika
- Affected packages:
- Spring Data @ 3.3.12 (+7366 more)