CVE-2026-22731
HIGHCVE-2026-22731 is a high-severity (CVSS 8.2) CWE-288 vulnerability in org.springframework.boot:spring-boot-starter-actuator. O3 Security confirms whether CVE-2026-22731 is actually reachable in your code before you act, and blocks exploitation at runtime until you patch.
Authentication Bypass under Actuator Health groups paths
Real-World Exposure
org.springframework.boot:spring-boot-starter-actuator☕org.springframework.boot:spring-boot-starter-actuator☕org.springframework.boot:spring-boot-starter-actuatorReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Spring Boot applications with Actuator can be vulnerable to an "Authentication Bypass" vulnerability when an application endpoint that requires authentication is declared under a specific path, already configured for a Health Group additional path. This issue affects Spring Boot: from 4.0 before 4.0.3, from 3.5 before 3.5.11, from 3.4 before 3.4.15. This CVE is similar but not equivalent to CVE-2026-22733, as the conditions for exploit and vulnerable versions are different.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.springframework.boot:spring-boot-starter-actuator | ≥ 3.4.0 | No fix |
| ☕Maven | org.springframework.boot:spring-boot-starter-actuator | ≥ 3.5.0&&< 3.5.12 | 3.5.12 |
| ☕Maven | org.springframework.boot:spring-boot-starter-actuator | ≥ 4.0.0-M1&&< 4.0.4 | 4.0.4 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.springframework.boot:spring-boot-starter-actuator. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
No patched version of org.springframework.boot:spring-boot-starter-actuator has shipped for CVE-2026-22731 yet. Where your build allows, override or pin the dependency away from the vulnerable range, and apply any maintainer-recommended mitigation.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether CVE-2026-22731 is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to CVE-2026-22731. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is CVE-2026-22731 in your dependencies?
O3 detects CVE-2026-22731 across Maven dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.