ghsa-6r3c-xf4w-jxjm
Vulnerability from github
Published
2025-06-13 00:33
Modified
2025-06-13 22:12
Severity ?
VLAI Severity ?
Summary
Spring Framework vulnerable to a reflected file download (RFD)
Details
Description
In Spring Framework, versions 6.0.x as of 6.0.5, versions 6.1.x and 6.2.x, an application is vulnerable to a reflected file download (RFD) attack when it sets a “Content-Disposition” header with a non-ASCII charset, where the filename attribute is derived from user-supplied input.
Specifically, an application is vulnerable when all the following are true:
- The header is prepared with
org.springframework.http.ContentDisposition
. - The filename is set via
ContentDisposition.Builder#filename(String, Charset)
. - The value for the filename is derived from user-supplied input.
- The application does not sanitize the user-supplied input.
- The downloaded content of the response is injected with malicious commands by the attacker (see RFD paper reference for details).
An application is not vulnerable if any of the following is true:
- The application does not set a “Content-Disposition” response header.
- The header is not prepared with
org.springframework.http.ContentDisposition
. - The filename is set via one of:
ContentDisposition.Builder#filename(String)
, orContentDisposition.Builder#filename(String, ASCII)
- The filename is not derived from user-supplied input.
- The filename is derived from user-supplied input but sanitized by the application.
- The attacker cannot inject malicious content in the downloaded content of the response.
Affected Spring Products and VersionsSpring Framework
- 6.2.0 - 6.2.7
- 6.1.0 - 6.1.20
- 6.0.5 - 6.0.28
- Older, unsupported versions are not affected
Mitigation
Users of affected versions should upgrade to the corresponding fixed version.
| Affected version(s) | Fix version | Availability | | - | - | - | | 6.2.x | 6.2.8 | OSS | | 6.1.x | 6.1.21 | OSS | | 6.0.x | 6.0.29 | Commercial |
No further mitigation steps are necessary.
{ "affected": [ { "package": { "ecosystem": "Maven", "name": "org.springframework:spring-web" }, "ranges": [ { "events": [ { "introduced": "6.2.0" }, { "fixed": "6.2.8" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Maven", "name": "org.springframework:spring-web" }, "ranges": [ { "events": [ { "introduced": "6.1.0" }, { "fixed": "6.1.21" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Maven", "name": "org.springframework:spring-web" }, "ranges": [ { "events": [ { "introduced": "6.0.5" }, { "last_affected": "6.0.23" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-41234" ], "database_specific": { "cwe_ids": [ "CWE-113" ], "github_reviewed": true, "github_reviewed_at": "2025-06-13T22:12:57Z", "nvd_published_at": "2025-06-12T22:15:21Z", "severity": "MODERATE" }, "details": "### Description\n\nIn Spring Framework, versions 6.0.x as of 6.0.5, versions 6.1.x and 6.2.x, an application is vulnerable to a reflected file download (RFD) attack when it sets a \u201cContent-Disposition\u201d header with a non-ASCII charset, where the filename attribute is derived from user-supplied input.\n\nSpecifically, an application is vulnerable when all the following are true:\n\n - The header is prepared with `org.springframework.http.ContentDisposition`.\n - The filename is set via `ContentDisposition.Builder#filename(String, Charset)`.\n - The value for the filename is derived from user-supplied input.\n - The application does not sanitize the user-supplied input.\n - The downloaded content of the response is injected with malicious commands by the attacker (see RFD paper reference for details).\n\n\nAn application is not vulnerable if any of the following is true:\n\n - The application does not set a \u201cContent-Disposition\u201d response header.\n - The header is not prepared with `org.springframework.http.ContentDisposition`.\n - The filename is set via one of: \n - `ContentDisposition.Builder#filename(String)`, or\n - `ContentDisposition.Builder#filename(String, ASCII)`\n - The filename is not derived from user-supplied input.\n - The filename is derived from user-supplied input but sanitized by the application.\n - The attacker cannot inject malicious content in the downloaded content of the response.\n\n\n### Affected Spring Products and VersionsSpring Framework\n\n - 6.2.0 - 6.2.7\n - 6.1.0 - 6.1.20\n - 6.0.5 - 6.0.28\n - Older, unsupported versions are not affected\n\n\n### Mitigation\n\nUsers of affected versions should upgrade to the corresponding fixed version.\n\n| Affected version(s) | Fix version | Availability |\n| - | - | - |\n| 6.2.x | 6.2.8 | OSS |\n| 6.1.x | 6.1.21 | OSS |\n| 6.0.x | 6.0.29 | [Commercial](https://enterprise.spring.io/) |\n\nNo further mitigation steps are necessary.", "id": "GHSA-6r3c-xf4w-jxjm", "modified": "2025-06-13T22:12:57Z", "published": "2025-06-13T00:33:18Z", "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-41234" }, { "type": "WEB", "url": "https://github.com/spring-projects/spring-framework/issues/35034" }, { "type": "WEB", "url": "https://github.com/spring-projects/spring-framework/commit/f0e7b42704e6b33958f242d91bd690d6ef7ada9c" }, { "type": "PACKAGE", "url": "https://github.com/spring-projects/spring-framework" }, { "type": "WEB", "url": "https://spring.io/security/cve-2025-41234" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N", "type": "CVSS_V3" } ], "summary": "Spring Framework vulnerable to a reflected file download (RFD)" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…