JustAppSec
Back to news

Spring Boot DevTools timing side-channel can hand attackers RCE

2 min readPublished 27 Apr 2026Updated 27 Apr 2026Source: CVEProject (cvelistV5)

TL;DR - The remote secret comparison in spring-boot-devtools leaks information through timing differences. An adjacent attacker who recovers the secret can upload changed classes to the remote application - that's RCE. CVSS 7.5 (High). Patch to the fixed release for your Spring Boot line.

What happened

spring-boot-devtools is Spring Boot's developer productivity module - hot reload, remote restart, that sort of thing. It's supposed to stay out of production, but it ends up there more often than teams realise.

CVE-2026-40972 is a timing side-channel (CWE-208) in the module's remote secret comparison. The attack is two steps: an attacker on the same network uses timing differences to recover the remote secret, then uses that secret to upload changed classes. Changed classes mean arbitrary code execution inside the running application.

ItemDetail
Affected componentspring-boot-devtools
Vulnerability classTiming side-channel in secret comparison (CWE-208)
Worst-case impactUpload changed classes, leading to remote code execution
SeverityCVSS 3.1 7.5 (High)
CVSS vectorCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

This is the familiar failure mode for shared-secret control planes. Once the secret can be inferred, the remote-management surface stops being an admin feature and becomes an execution path.

Who is impacted

  • Any Spring Boot application that includes spring-boot-devtools in an affected version.
  • The attack requires adjacent network position, so risk is highest in shared or cloud environments where network adjacency is easier to achieve.
  • Unsupported Spring Boot lines are also affected.
Spring Boot lineAffected versionsFixed version
4.0.x4.0.0 to 4.0.54.0.6
3.5.x3.5.0 to 3.5.133.5.14
3.4.x3.4.0 to 3.4.153.4.16
3.3.x3.3.0 to 3.3.183.3.19
2.7.x2.7.0 to 2.7.322.7.33

What to do now

The vendor is direct: upgrade to the fixed release for your line. No additional mitigations are required once you're on a fixed version.

"Users of affected versions should upgrade to the corresponding fixed version." "No further mitigation steps are necessary."

  • Upgrade to the fixed release matching your Spring Boot line (see table above).
  • Inventory production artifacts - build manifests, lockfiles, SBOMs, container images - and identify every service that bundles spring-boot-devtools. It should never ship to production; this is a good moment to confirm it isn't.
  • Prioritise services using remote DevTools workflows. Those are the ones where the class-upload path is actually reachable.
  • If you suspect prior exposure: treat credentials accessible to the affected application as potentially compromised. Review deployment history for unexpected class changes or restarts.

Related


Content is AI-assisted and reviewed by our team, but issues may be missed and best practices evolve rapidly, send corrections to [email protected]. Always consult official documentation and validate key implementation decisions before making design or security choices.

Need help?Get in touch.