The vulnerability, described as 'Incorrect Execution-Assigned Permissions', stems from unauthorized access to Spring Boot Actuator endpoints in Apache StreamPark. The investigation into the commits between the last vulnerable version (2.1.5) and the patched version (2.1.6) revealed a key commit 9168dabd9879999c570a64904c76e308c6af81d6 titled '[Improve] Unauthorized access to Spring Boot Actuator'.
This commit introduces two critical changes:
- Dependency Removal: The
spring-boot-starter-actuator dependency is removed from streampark-console/streampark-console-service/pom.xml. This is the library that provides the actuator endpoints.
- Explicit Disabling: The property
management.endpoints.enabled-by-default is set to false within the getSpringConfig method in org.apache.streampark.console.base.config.SpringProperties. This explicitly disables the actuator endpoints that might be brought in by other transitive dependencies.
Prior to the patch, the getSpringConfig function did not configure any restrictions on the actuator endpoints, and because the dependency was present, they were exposed by default. This allowed any unauthenticated user to access endpoints that could reveal sensitive information about the application's state and configuration. The getSpringConfig method is the most direct runtime indicator related to this vulnerability, as it is responsible for the application's configuration that led to the exposure of the actuator endpoints.