Not a U.S. government website. NDD is an independent vulnerability database by Volerion and is not affiliated with or endorsed by NIST or NVD.
VOLERION
Volerion Security Research

NOT DEFERRED DATABASE

VULNERABILITIES

CVE-2025-32960 Details

ANALYZED


This CVE record has been analyzed and enriched by NVDAPI.com as an independent party.

Description

The CUBA REST API add-on performs operations on data and entities. Prior to version 7.2.7, 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 version 7.2.7. A workaround is provided on the Jmix documentation website.

Metrics

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.

Weakness Enumeration

CWE-IDCWE NameSource
CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')[email protected]

Affected Products

ProductVersions
Jmix
All versions

CPE

  • No CPEs found in CPE dictionary for this product.

Remediation

  • No remediation found in references.
CUBA
>= 6.2.0, <= 7.2.22 (semver)

CPE

  • cpe:2.3:a:haulmont:cuba_platform:*:*:*:*:*:*:*:*

Remediation

  • Upgrade: 7.2.23moderate effort
  • Workaround:low effort

    Disable the '/files' REST endpoint: 1. Create a class in the 'web' module of your project (change the package accordingly): BlockingFilter.java package com.company.sample.web; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.filter.OncePerRequestFilter; import javax.servlet.FilterChain; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class BlockingFilter extends OncePerRequestFilter { private static final Logger log = LoggerFactory.getLogger(BlockingFilter.class); @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException { String requestURI = request.getRequestURI(); log.debug('Block request to ' + requestURI); response.setStatus(HttpServletResponse.SC_FORBIDDEN); response.getWriter().write('This endpoint is disabled.'); } } 2. Add the following filter configuration to the end of the 'WEB-INF/web.xml' file of your 'web' module (use the real package name of the BlockingFilter class): web/WEB-INF/web.xml <filter> <filter-name>cuba_blocking_filter</filter-name> <filter-class>com.company.sample.web.BlockingFilter</filter-class> <async-supported>true</async-supported> </filter> <filter-mapping> <filter-name>cuba_blocking_filter</filter-name> <url-pattern>/rest/v2/files/*</url-pattern> </filter-mapping> 3. If you are using the legacy CUBA REST v1 (which was extracted to JPA Web API add-on since CUBA 7.1), you should disable '/upload' and '/download' endpoints. Add the following filter mappings to the 'web.xml' file in addition to the filter configuration shown above: web/WEB-INF/web.xml <filter-mapping> <filter-name>cuba_blocking_filter</filter-name> <url-pattern>/dispatch/api/upload</url-pattern> </filter-mapping> <filter-mapping> <filter-name>cuba_blocking_filter</filter-name> <url-pattern>/dispatch/api/download</url-pattern> </filter-mapping>

CUBA REST API add-on
All versions

CPE

  • No CPEs found in CPE dictionary for this product.

Remediation

  • No remediation found in references.
CUBA JPA Web API add-on
All versions

CPE

  • No CPEs found in CPE dictionary for this product.

Remediation

  • No remediation found in references.

Change History

3 change records found show changes


QUICK INFO

CVE Dictionary Entry:
CVE-2025-32960
NVD Published Date:
Apr 22, 2025
NVD Last Modified:
Jun 17, 2026
Source:
[email protected]