XSS in the /download Endpoint of the JPA Web API
Date: 2025-04
Affected: maven/com.haulmont.addon.jpawebapi:jpawebapi-jpawebapi
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2025-32950
CVE-2025-32951
CVE-2025-32960
CVE-2025-32961
CWE: CWE-22
CWE-35
CWE-79
CVSS: 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)

### Impact 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](https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-cuba-application). ### References [Files Functionality Vulnerabilities :: Jmix Documentation](https://docs.jmix.io/jmix/files-vulnerabilities.html) Similar vulnerability in Jmix: [XSS in the /files Endpoint of the Generic REST API · Advisory · jmix-framework/jmix](https://github.com/jmix-framework/jmix/security/advisories/GHSA-x27v-f838-jh93)


Mitigations:

Architectural layers (MAESTRO):