GHSA-HG25-W3VG-7279
Vulnerability from github – Published: 2025-04-22 17:00 – Updated: 2025-04-23 15:21Impact
The input parameter, which consists of a file path and name, can be manipulated to return the Content-Type header with text/html if the name part ends with .html. This could allow malicious JavaScript code to be executed in the browser. For a successful attack, a malicious file needs to be uploaded beforehand.
The severity of the vulnerability is mitigated by the fact that the application UI and the JPA Web API are typically accessible only to authenticated users.
Patches
The problem has been fixed in CUBA JPA Web API add-on 1.1.1.
Workarounds
A workaround for those who are unable to upgrade: Disable Files Endpoint in CUBA Application.
References
Files Functionality Vulnerabilities :: Jmix Documentation
Similar vulnerability in Jmix: XSS in the /files Endpoint of the Generic REST API · Advisory · jmix-framework/jmix
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "com.haulmont.addon.jpawebapi:jpawebapi-jpawebapi"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.1.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-32961"
],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2025-04-22T17:00:27Z",
"nvd_published_at": "2025-04-22T18:16:00Z",
"severity": "MODERATE"
},
"details": "### Impact\n\nThe input parameter, which consists of a file path and name, can be manipulated to return the Content-Type header with text/html if the name part ends with .html. This could allow malicious JavaScript code to be executed in the browser. For a successful attack, a malicious file needs to be uploaded beforehand.\n\nThe severity of the vulnerability is mitigated by the fact that the application UI and the JPA Web API are typically accessible only to authenticated users.\n\n### Patches\n\nThe problem has been fixed in CUBA JPA Web API add-on 1.1.1.\n\n### Workarounds\n\nA workaround for those who are unable to upgrade: [Disable Files Endpoint in CUBA Application](https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-cuba-application).\n\n### References\n\n[Files Functionality Vulnerabilities :: Jmix Documentation](https://docs.jmix.io/jmix/files-vulnerabilities.html)\n\nSimilar vulnerability in Jmix: [XSS in the /files Endpoint of the Generic REST API \u00b7 Advisory \u00b7 jmix-framework/jmix](https://github.com/jmix-framework/jmix/security/advisories/GHSA-x27v-f838-jh93)",
"id": "GHSA-hg25-w3vg-7279",
"modified": "2025-04-23T15:21:43Z",
"published": "2025-04-22T17:00:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/cuba-platform/jpawebapi/security/advisories/GHSA-hg25-w3vg-7279"
},
{
"type": "WEB",
"url": "https://github.com/jmix-framework/jmix/security/advisories/GHSA-x27v-f838-jh93"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-32961"
},
{
"type": "WEB",
"url": "https://github.com/cuba-platform/jpawebapi/commit/78b837d7e2b12d0df69cef1bc6042ebf3bdaf22c"
},
{
"type": "WEB",
"url": "https://docs.jmix.io/jmix/files-vulnerabilities.html"
},
{
"type": "WEB",
"url": "https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-cuba-application"
},
{
"type": "PACKAGE",
"url": "https://github.com/cuba-platform/jpawebapi"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "XSS in the /download Endpoint of the JPA Web API"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.