# CVE-2026-107303: JHipster generated applications stored XSS via unrestricted Blob content type

Source: https://junglewise.ai/threats/cve-2026-107303-jhipster-generated-applications-allow-stored-xss-via  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-08. Updated: 2026-10-08  
License: CC BY 4.0 with a link back

CVE-2026-107303 · Severity: high · CVSS 7.6 · Published 2026-10-08

JHipster is a code generator that creates web applications with Angular, React, or Vue frontends and Spring Boot backends. Applications generated by JHipster v9.2.0 allow authenticated users to upload files with attacker-controlled MIME types that are stored and later opened by privileged users in the browser, enabling stored cross-site scripting attacks that can steal authentication tokens and sensitive data or execute unauthorized actions.

Technologies: [generator-jhipster (npm)](https://junglewise.ai/threats/technologies/generator-jhipster). Vendors: [JHipster](https://junglewise.ai/threats/vendors/jhipster), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-107303 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-107303 being exploited in the wild.

**How severe is CVE-2026-107303?** High severity, with a CVSS score of 7.6, published 8 October 2026.

**Which products and versions are affected?** JHipster Generator-Jhipster 9.2.0; generator-jhipster (npm) < 9.4.0, SEMVER:introduced=0,fixed=9.4.0; react-jhipster (npm) <= 1.0.3, SEMVER:introduced=0,fixed=1.1.0.

**Is there a fix for CVE-2026-107303?** Yes. generator-jhipster (npm): upgrade to 9.4.0 or later; react-jhipster (npm): upgrade to 1.1.0 or later. Until then: Restrict Blob entity endpoints with entity-specific @PreAuthorize annotations to trusted roles, or disable the openFile helper and implement server-side file serving instead of client-side Blob opening; validate and allowlist ContentType values to safe types (application/pdf, image/png, image/jpeg) and reject active document formats (text/html, image/svg+xml, application/xml). Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-107303 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-107303?** Check whether you run JHipster Generator-Jhipster, generator-jhipster (npm) or react-jhipster (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- generator-jhipster (npm): upgrade to 9.4.0 or later

  ```sh
  npm install generator-jhipster@9.4.0
  ```

- react-jhipster (npm): upgrade to 1.1.0 or later

  ```sh
  npm install react-jhipster@1.1.0
  ```


Restrict Blob entity endpoints with entity-specific @PreAuthorize annotations to trusted roles, or disable the openFile helper and implement server-side file serving instead of client-side Blob opening; validate and allowlist ContentType values to safe types (application/pdf, image/png, image/jpeg) and reject active document formats (text/html, image/svg+xml, application/xml).

## Technical details

The vulnerability is a stored XSS in the shared openFile helper function (data-utils.ts), which creates a Blob object from server-returned file data and MIME type, then opens it as a same-origin document via URL.createObjectURL and window.open. The REST API layer fails to validate or restrict the ContentType field for Blob-bearing entities, allowing any authenticated user to persist arbitrary MIME types alongside file content; when a privileged user accesses the entity detail or list page, the UI passes the untrusted ContentType to openFile, where active document formats (text/html, image/svg+xml) can execute script depending on CSP and browser behavior. A fix is available.

## Affected products

- JHipster generator-jhipster 9.2.0

## Identifiers

- CVE-2026-107303
- GHSA-9ffp-22j7-56r2

## Timeline

- 2026-10-08: disclosed

## Related threats

- [JHipster SQL injection in sort parameter of generated reactive applications](https://junglewise.ai/threats/cve-2026-107375-jhipster-sql-injection-in-the-parameter-of-jhipster-generated)
- [JHipster privilege escalation via response manipulation](https://junglewise.ai/threats/cve-2025-43712-jhipster-privilege-escalation-via-response-manipulation)
- [JHipster generator-jhipster timing attack in token validation](https://junglewise.ai/threats/cve-2015-20110-jhipster-generator-jhipster-timing-attack-in-token-validation)
- [JHipster SQL injection in reactive SQL backend entity repositories](https://junglewise.ai/threats/cve-2022-24815-jhipster-sql-injection-in-reactive-sql-backend-entity)
- [JHipster generator HTTP repository configuration in generated code](https://junglewise.ai/threats/jhipster-generator-http-repository-configuration-in-generated-code-0c7c6095)
