Skip to content
Fencer Vulns
high 7.0

CVE-2026-40973 json

Spring Boot accepts predictable temp directory without ownership verification

published 2026-04-27 6 mo ago modified 2026-09-10 1 mo ago also GHSA-wwpq-f5c3-7hvx , EUVD-2026-25937

cvss
7.0
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.1%
EPSS 0.1% chance of exploitation in 30 days, percentile 3%
public exploits
0
none known

Summary

A local attacker on the same host as the application may be able to take control of the directory used by `ApplicationTemp`. When `server.servlet.session.persistent` is set to `true` and the attack persists across application restarts, this may allow the attacker to read session information and hijack authenticated users or deploy a gadget chain and execute code as the application's user.

Affected: Spring Boot 4.0.0–4.0.5 (fix 4.0.6), 3.5.0–3.5.13 (fix 3.5.14), 3.4.0–3.4.15 (fix 3.4.16), 3.3.0–3.3.18 (fix 3.3.19), 2.7.0–2.7.32 (fix 2.7.33); predictable temp directory / `ApplicationTemp` ownership verification. Versions that are no longer supported are also affected per vendor advisory.

Patch / fix

  • maven org.springframework.boot:spring-boot 3.5.14, 4.0.6
  • Spring Spring Boot 2.7.33, 3.3.19, 3.4.16, 3.5.14, 4.0.6

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-40973 updated cvss 7.0

Spring Boot: Spring Boot: Arbitrary Code Execution and Session Hijacking via predictable temporary directory

  • Red Hat build of OptaPlanner 8 spring-boot
    affected: workaround, no fix available
  • Red Hat Fuse 7 spring-boot
    affected: workaround, no fix planned “Will not fix”
  • Red Hat HawtIO HawtIO 4.4.0
    fixed: vendor fix RHSA-2026:25089
  • Red Hat build of Apache Camel 4.18.1 for Spring Boot 3.5.14
    fixed: vendor fix RHSA-2026:17668
  • Red Hat OpenShift Dev Spaces 3.28 devspaces/openvsx-rhel9 1779528224, devspaces/pluginregistry-rhel9 1779359423
    fixed: vendor fix RHSA-2026:21772
  • Red Hat AMQ Broker 7 spring-boot Red Hat AMQ Clients spring-boot
    not affected: vulnerable code not present
  • Red Hat Data Grid 8 spring-boot
    not affected: component not present
  • Red Hat Enterprise Linux 8 log4j, log4j-jcl, log4j-web, log4j-slf4j Red Hat Enterprise Linux 9 log4j, log4j-jcl, log4j-slf4j Red Hat JBoss Enterprise Application Platform 7 spring-boot Red Hat JBoss Enterprise Application Platform 8 spring-boot Red Hat JBoss Enterprise Application Platform Expansion Pack spring-boot Red Hat OpenShift Dev Spaces 3.28 devspaces/udi-rhel9 1779829736, devspaces/code-rhel9 1779814592, devspaces/server-rhel9 1779342423, devspaces/traefik-rhel9 1779786779, devspaces/udi-base-rhel9 1779741066, devspaces/code-sshd-rhel9 1779813519, +8 more
    not affected: vulnerable code not present
show 2 more
  • Red Hat Process Automation 7 spring-boot
    not affected: vulnerable code not in execute path
  • Red Hat Single Sign-On 7 spring-boot
    not affected: component not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
6 mo ago

Exploit prediction

0.14% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
GitHub 3.1 7.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
maven org.springframework.boot:spring-boot
>=4.0.0, <4.0.6
>=3.5.0, <3.5.14
>=3.4.0, <=3.4.15
>=3.3.0, <=3.3.18
<=2.7.32
4.0.6
3.5.14

Affected products

  • Spring Spring Boot

Classification

Weakness
  • CWE-377 DEPRECATED: Insecure Temporary File
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.