CVE-2025-5388 Overview
CVE-2025-5388 is a SQL injection vulnerability in JeeWMS, a warehouse management system developed by huayi-tec. The flaw resides in the dogenerate function exposed through the /generateController.do?dogenerate endpoint. Attackers with low-privilege authenticated access can manipulate input parameters to inject arbitrary SQL statements. The vulnerability is exploitable remotely over the network without user interaction. Because JeeWMS follows a rolling release model, specific affected and fixed version numbers are not published, complicating patch tracking. The issue is tracked under [CWE-74] (Improper Neutralization of Special Elements in Output). All deployments up to the 20250504 build are confirmed affected.
Critical Impact
Authenticated remote attackers can inject SQL through the dogenerate endpoint, exposing database contents, modifying records, or pivoting deeper into backend systems.
Affected Products
- huayi-tec JeeWMS up to build 20250504
- All rolling-release deployments containing the vulnerable generateController.do handler
- Self-hosted instances exposing the /generateController.do?dogenerate endpoint
Discovery Timeline
- 2025-05-31 - CVE-2025-5388 published to NVD
- 2025-09-11 - Last updated in NVD database
Technical Details for CVE-2025-5388
Vulnerability Analysis
The vulnerability stems from improper neutralization of user-supplied input passed to the dogenerate function in generateController.do. JeeWMS concatenates request parameters directly into SQL statements without parameterized queries or input sanitization. An authenticated attacker can submit crafted parameters to alter query logic, extract data from arbitrary tables, or execute database-level operations. The endpoint is reachable over HTTP, and the attack complexity is low. Although the CVSS 4.0 score reflects limited confidentiality, integrity, and availability impact, successful exploitation can still reveal sensitive warehouse, inventory, and user data stored in the backing database.
Root Cause
The root cause is direct interpolation of untrusted input into SQL queries within the code-generation controller. The dogenerate function lacks prepared statements, allowlist validation, and type enforcement on incoming parameters. This pattern aligns with [CWE-74] injection weaknesses, where user-controlled data crosses a parser boundary unsafely.
Attack Vector
Attackers send crafted HTTP requests to /generateController.do?dogenerate with malicious values embedded in query or form parameters. Because the endpoint requires low-privilege credentials, any compromised or self-registered account can serve as the attack origin. The injected payload modifies the SQL grammar interpreted by the JDBC driver, enabling UNION-based extraction, boolean-based blind inference, or time-based blind probing depending on database response handling. No public proof-of-concept exploit code is currently available in ExploitDB, and the issue is not listed in the CISA KEV catalog.
The technical disclosure is tracked in the Gitee Issue Report and the VulDB entry.
Detection Methods for CVE-2025-5388
Indicators of Compromise
- HTTP requests targeting /generateController.do?dogenerate containing SQL metacharacters such as ', --, UNION, SLEEP(, or INFORMATION_SCHEMA
- Unusual outbound database query volumes or long-running queries originating from the JeeWMS application user
- Authentication events from low-privilege JeeWMS accounts immediately followed by access to the generateController endpoint
- Application or database error messages referencing syntax errors traceable to the dogenerate handler
Detection Strategies
- Deploy web application firewall rules that inspect parameters submitted to /generateController.do for SQL injection signatures
- Enable verbose query logging on the JeeWMS backend database and alert on syntactically anomalous statements
- Correlate authentication logs with controller access patterns to identify reconnaissance behavior
Monitoring Recommendations
- Monitor the JeeWMS application server access logs for spikes in requests to generateController.do?dogenerate
- Track database user activity for queries referencing system catalogs that JeeWMS does not normally read
- Alert on repeated HTTP 500 responses from the controller, which often indicate injection probing
How to Mitigate CVE-2025-5388
Immediate Actions Required
- Restrict network access to the JeeWMS administrative interface using firewall rules or VPN segmentation
- Disable or block the /generateController.do?dogenerate endpoint at the reverse proxy until a vendor fix is verified
- Rotate credentials for all low-privilege JeeWMS accounts and audit account creation activity
- Review database audit logs for evidence of prior exploitation attempts
Patch Information
The vendor distributes JeeWMS through a rolling-release model, and discrete fixed-version identifiers are not published. Track upstream commits in the Gitee repository and pull the latest source once a fix referencing the dogenerate function is merged. Validate any deployed build against the issue tracker before returning the endpoint to production.
Workarounds
- Place the JeeWMS application behind a WAF with SQL injection signatures tuned for the generateController.do path
- Enforce least-privilege database accounts so the JeeWMS service user cannot read sensitive tables or execute administrative SQL
- Require multi-factor authentication on all JeeWMS accounts to limit the pool of attackers able to reach authenticated endpoints
- Apply input validation at the reverse proxy layer to reject parameters containing SQL metacharacters when feasible
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

