Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreSpring Tools for Eclipse stores the Spring Boot DevTools remote secret (spring.devtools.remote.secret) as a plain string attribute on the "Spring Boot DevTools Client" launch configuration. Eclipse persists launch configuration attributes as cleartext XML, either to workspace metadata or, if the user marks the configuration as a shared file, directly into the project tree where it can be committed to version control. This secret is the sole credential protecting the DevTools remote restart/reload endpoint, which accepts and executes arbitrary class bytes on the target application. Anyone able to read the .launch file (via filesystem access, a workspace backup, or a shared VCS repository) can extract the secret and use it to achieve remote code execution against the associated Spring Boot application.
Spring Tools for Eclipse:
All versions prior to version 5 (no longer supported) are also affected.
Spring Tools for VSCode / Cursor / Theia are not affected, as this launch configuration mechanism is specific to the Eclipse IDE.
Users of affected versions should upgrade to the corresponding fixed version.
| Fix version | Availability |
|---|---|
| 5.3.0 | OSS |
No further mitigation steps are necessary.
Workaround for unpatched versions: Do not mark "Spring Boot DevTools Client" launch configurations as shared/exported files, and avoid committing .launch files that contain a spring.devtools.remote.secret attribute to version control. If a secret has already been exposed, rotate spring.devtools.remote.secret on the affected application.
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N (4.4, Medium)To report a security vulnerability for a project within the Spring portfolio, see the Security Policy