{"id":"CVE-2025-32951","aliases":["EUVD-2025-12225","GHSA-x27v-f838-jh93"],"status":"published","title":"io.jmix.rest:jmix-rest allows XSS in the /files Endpoint of the Generic REST API","description":"Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, 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. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.","severity":{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00361,"percentile":0.30315,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2025-04-22T16:55:13Z","modified":"2026-10-28T10:59:08Z","fixes":[{"ecosystem":"Maven","package":"io.jmix.rest:jmix-rest","fixed_in":["1.6.2","2.4.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"io.jmix.rest:jmix-rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"1.6.2"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"io.jmix.rest:jmix-rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.4.0"}]}]},{"source":"osv","ecosystem":"Maven","package":"io.jmix.rest:jmix-rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"1.6.2"}]}]},{"source":"osv","ecosystem":"Maven","package":"io.jmix.rest:jmix-rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.4.0"}]}]}],"products":[{"vendor":"haulmont","product":"cuba_platform"},{"vendor":"haulmont","product":"cuba_rest_api"},{"vendor":"haulmont","product":"jmix_framework"},{"vendor":"haulmont","product":"jpa_web_api"},{"vendor":"jmix-framework","product":"jmix"}],"references":[{"url":"https://github.com/jmix-framework/jmix/security/advisories/GHSA-x27v-f838-jh93","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/jmix-framework/jmix/issues/3804","tags":["x_refsource_MISC","Issue Tracking","report","web"]},{"url":"https://github.com/jmix-framework/jmix/issues/3836","tags":["x_refsource_MISC","Issue Tracking","report","web"]},{"url":"https://github.com/jmix-framework/jmix/commit/6a66aa3adb967159a30d703e80403406f4c8f7a2","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/jmix-framework/jmix/commit/c589ef4e2b25620770b8036f4ad05f1a6250cb6a","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/jmix-framework/jmix/commit/cc97e6ff974b9e7af8160fab39cc5866169daa37","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/jmix-framework/jmix/commit/f4e6fb05bd245cf36f3e9319aaa0fcd540d024aa","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://docs.jmix.io/jmix/files-vulnerabilities.html","tags":["x_refsource_MISC","Vendor Advisory","web"]},{"url":"https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-jmix-application","tags":["x_refsource_MISC","Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-32951","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-x27v-f838-jh93"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/32xxx/CVE-2025-32951.json","tags":["advisory"]},{"url":"https://github.com/jmix-framework/jmix","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-32951","title":"io.jmix.rest:jmix-rest allows XSS in the /files Endpoint of the Generic REST API","description":"Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, 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. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.","status":"published","published":"2025-04-22T17:32:23.401Z","modified":"2025-05-27T17:18:23.124Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:32:46.42892Z"}],"euvd":[{"id":"EUVD-2025-12225","description":"Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, 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. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.","status":"published","published":"2025-04-22T17:32:23Z","modified":"2025-05-27T17:18:23Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:32:37.949923Z"}],"ghsa":[{"id":"GHSA-x27v-f838-jh93","title":"io.jmix.rest:jmix-rest allows XSS in the /files Endpoint of the Generic REST API","description":"### 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 generic REST API are typically accessible only to authenticated users. Additionally, the /files endpoint in Jmix requires specific permissions and is disabled by default. \n\n### Patches\n\nThe problem has been fixed in Jmix 1.6.2+ and 2.4.0+.\n\n### Workarounds\n\nA workaround for those who are unable to upgrade: [Disable Files Endpoint in Jmix Application](https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-jmix-application).","status":"published","published":"2025-04-22T16:55:13Z","modified":"2025-05-27T17:19:02Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:38:44.991725Z"}],"nvd":[{"id":"CVE-2025-32951","description":"Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, 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. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.","status":"published","published":"2025-04-22T18:15:59.94Z","modified":"2026-06-17T09:12:51.237Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:11:01.507281Z"}],"osv":[{"id":"CVE-2025-32951","title":"io.jmix.rest:jmix-rest allows XSS in the /files Endpoint of the Generic REST API","description":"Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, 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. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.","status":"published","published":"2025-04-22T17:32:23.401Z","modified":"2026-10-28T10:59:08.111755763Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:48.02508Z"},{"id":"GHSA-x27v-f838-jh93","title":"io.jmix.rest:jmix-rest allows XSS in the /files Endpoint of the Generic REST API","description":"### 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 generic REST API are typically accessible only to authenticated users. Additionally, the /files endpoint in Jmix requires specific permissions and is disabled by default. \n\n### Patches\n\nThe problem has been fixed in Jmix 1.6.2+ and 2.4.0+.\n\n### Workarounds\n\nA workaround for those who are unable to upgrade: [Disable Files Endpoint in Jmix Application](https://docs.jmix.io/jmix/files-vulnerabilities.html#disable-files-endpoint-in-jmix-application).","status":"published","published":"2025-04-22T16:55:13Z","modified":"2026-02-04T03:35:10.83249Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:59.131095Z"}]}}
