SECURITYCRITICALCVE-2026-38158

CVE-2026-38158: Critical SQL Injection in UReport v2.2.9 (CVSS 9.8)

A critical SQL injection vulnerability in the /ureport/datasource/previewData endpoint of ureport v2.2.9 allows unauthenticated attackers to exfiltrate...

Dylan H.

Security Team

July 17, 2026
3 min read
CVE-2026-38158: Critical SQL Injection in UReport v2.2.9 (CVSS 9.8)

Critical severity

Rated critical. Prioritise patching — see the remediation guidance below.

Affected Products

  • ureport v2.2.9 and earlier

Executive Summary

A critical SQL injection vulnerability has been identified in UReport v2.2.9, a widely used open-source Java reporting engine. Tracked as CVE-2026-38158 with a CVSS score of 9.8 (Critical), the flaw resides in the /ureport/datasource/previewData component and allows attackers to craft malicious SQL statements that access sensitive database information.

CVSS Score: 9.8 (Critical) Attack Vector: Network Authentication Required: None User Interaction Required: None


Vulnerability Overview

Affected Component

The vulnerable endpoint is the data source preview functionality exposed at:

/ureport/datasource/previewData

This component is used to preview report data during design time. Due to insufficient input sanitization, SQL parameters passed to this endpoint are not properly validated or parameterized before being executed against the underlying database.

Root Cause

The vulnerability stems from unsanitized SQL parameter injection in the previewData handler. Attackers can submit crafted SQL payloads that are executed with the same privileges as the application's database connection, enabling:

  • Data exfiltration — dump of tables, schemas, and sensitive records
  • Authentication bypass — access without valid credentials
  • Potential privilege escalation — depending on database user permissions

Attack Scenario

An unauthenticated remote attacker sends a crafted HTTP request to the preview endpoint with a malicious SQL payload. The application executes the injected statement without validation, returning sensitive database contents in the response.

Example of the vulnerable request pattern:

POST /ureport/datasource/previewData
...
datasourceType=jdbc&sql=' UNION SELECT username,password,NULL FROM users--

Risk Assessment

FactorRating
CVSS Score9.8 Critical
Attack ComplexityLow
Privileges RequiredNone
Confidentiality ImpactHigh
Integrity ImpactHigh
Availability ImpactHigh

The combination of no authentication required, network-accessible endpoint, and high impact across all three CIA pillars makes this vulnerability extremely dangerous for organizations with exposed UReport instances.


Affected Versions

ProductAffected Version
UReportv2.2.9 and prior

UReport is commonly deployed in enterprise Java environments for dynamic reporting. Organizations integrating it into business applications or internal dashboards may have exposed the preview endpoint without adequate network controls.


Detection

Indicators to Monitor

Look for anomalous patterns in web access logs targeting the /ureport/datasource/previewData endpoint, particularly:

  • SQL keyword strings in POST body parameters (UNION, SELECT, DROP, INSERT, comment sequences --, /**/)
  • Unusually large response payloads from the preview endpoint
  • Requests from unexpected IP ranges to the UReport context path

Log Query Examples

# Grep for SQL injection patterns in access logs
grep -i "previewData" /var/log/nginx/access.log | grep -iE "(union|select|drop|--|0x)"

Remediation

Immediate Actions

  1. Restrict network access to the /ureport/datasource/previewData endpoint at the firewall or reverse proxy level. Only trusted internal IP ranges should have access to the UReport admin interface.
  2. Apply authentication controls — ensure UReport's preview and design endpoints are behind authentication. Do not expose these to the public internet.
  3. Monitor for exploitation — review access logs for suspicious queries against the affected endpoint.

Patch Status

At time of publication, monitor the UReport GitHub repository for a patched release addressing this vulnerability. Apply patches as soon as available.

Workaround

If an immediate patch is unavailable, block the /ureport/datasource/ path at the WAF or reverse proxy:

# Nginx example — block UReport datasource preview in production
location ~* ^/ureport/datasource/ {
    deny all;
    return 403;
}

References