# CVE-2025-41249: CVE-2025-41249: Spring Framework Annotation Detection Vulnerability

> Attackers can bypass method-level security checks in Spring applications using generic superclasses, potentially accessing protected resources.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 16 Sep 2025
- **Updated:** 16 Sep 2025
- **Also known as:** CLEANSTART-2026-BH37333, CLEANSTART-2026-FT93686, CLEANSTART-2026-SV89118, CLEANSTART-2026-UC97457, CLSA-2025-1759190769, CLSA-2025-1759795580, CLSA-2026-1776645365, CLSA-2026-1790080806, DEBIAN-CVE-2025-41249, ECHO-57ea-7cc7-5775, GHSA-jmp9-x22r-554x, MINI-4j6g-v5gx-689m, MINI-5gg4-jx2m-q3jx, MINI-jhrv-v3gp-6v94, MINI-jrfp-5vr6-q9c8, MINI-m7g7-p7p3-cmjq, MINI-pjvx-fc4h-3j99, MINI-pqhr-4vcg-rhj9, MINI-q3c5-3x92-2qpx, MINI-qvm2-qjm3-8j57, MINI-vjcp-prh4-9p7p, RHLW-2026-f342bdbd2d18aaa6, ROOT-APP-MAVEN-CVE-2025-41249, UBUNTU-CVE-2025-41249

## What is CVE-2025-41249?

CVE-2025-41249 is a high-severity authentication bypass vulnerability in VMware Spring Framework, published on 16 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

The Spring Framework annotation detection mechanism may not correctly resolve annotations on methods within type hierarchies with a parameterized super type with unbounded generics. This can be an issue if such annotations are used for authorization decisions.

Your application may be affected by this if you are using Spring Security's @EnableMethodSecurity feature.

You are not affected by this if you are not using @EnableMethodSecurity or if you do not use security annotations on methods in generic superclasses or generic interfaces.

This CVE is published in conjunction with  CVE-2025-41248 https://spring.io/security/cve-2025-41248 .

Weakness: CWE-285 (Improper Authorization)

## Which versions are affected by CVE-2025-41249?

6 open source packages ship an affected version, including org.springframework:spring-core.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.springframework:spring-core` | Maven | From 5.3.0 to 5.3.44 | None |
| `org.springframework:spring-core` | Maven | From 5.3.0 to 5.3.44 | None |
| `org.springframework:spring-core` | Maven | From 6.0.0 to 6.1.22 | None |
| `org.springframework:spring-core` | Maven | From 6.0.0 to 6.1.22 | None |
| `org.springframework:spring-core` | Maven | From 6.2.0 | 6.2.11 |
| `org.springframework:spring-core` | Maven | From 6.2.0 | 6.2.11 |

## How do I fix CVE-2025-41249?

Upgrade org.springframework:spring-core to 6.2.11 or later.

## Is CVE-2025-41249 being exploited?

There is no known exploitation of CVE-2025-41249 in the wild and no public exploit code.

Public exploit code:

- https://github.com/edwin/simulating-cve-2025-41249 (github_poc): https://github.com/edwin/simulating-cve-2025-41249

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-41249 and fix it if it is affected.

What it is: CVE-2025-41249 is a high-severity authentication bypass vulnerability in VMware Spring Framework, published on 16 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2025-41249 in the wild and no public exploit code.

Affected packages and fixed versions:
- org.springframework:spring-core (Maven): affected from 5.3.0 up to 5.3.44; no fix listed
- org.springframework:spring-core (Maven): affected from 5.3.0 up to 5.3.44; no fix listed
- org.springframework:spring-core (Maven): affected from 6.0.0 up to 6.1.22; no fix listed
- org.springframework:spring-core (Maven): affected from 6.0.0 up to 6.1.22; no fix listed
- org.springframework:spring-core (Maven): affected from 6.2.0; fixed in 6.2.11
- org.springframework:spring-core (Maven): affected from 6.2.0; fixed in 6.2.11

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-41249/ (Markdown: https://insights.sbomify.com/CVE-2025-41249/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-41249
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-41249
- OSV: https://osv.dev/vulnerability/CVE-2025-41249

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-41249/
Summaries are generated and may contain mistakes; the official description above is the record.
