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

CVE-2025-22384

CVE-2025-22384 Business Logic Flaw in Optimizely
📅 PUBLISHED: 2025-01-04 00:00 UTC 🔄 UPDATED: 2026-08-18 17:15 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.41%
👁️
0.41% probability
10.4× 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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-22384 is a business logic vulnerability in Optimizely Configured Commerce, specifically within the B2B application. The flaw allows storefront visitors to purchase discontinued products by altering HTTP requests before they reach the server. This bypasses intended business rules that should prevent the sale of discontinued items. The vulnerability has a medium severity rating, and no public proof-of-concept (PoC) or exploit code is currently available. The vendor has released a patch in version 5.2.2408.

⚡ 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 not related to an open-source package manager (NPM, PyPI, Go, Ruby). It is a proprietary e-commerce application. The supply chain risk is limited to the direct use of the Optimizely Configured Commerce software.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder. Based on the description, a reasonable CVSS vector would be:

  • Attack Vector (AV): Network (N) - The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low (L) - The attack requires altering requests, which is straightforward.
  • Privileges Required (PR): None (N) - No authentication is needed.
  • User Interaction (UI): None (N) - No user interaction is required.
  • Scope (S): Unchanged (U) - The vulnerability affects the same security authority.
  • Confidentiality (C): None (N) - No data disclosure.
  • Integrity (I): High (H) - The attacker can purchase products that should not be available.
  • Availability (A): None (N) - No impact on availability.

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N Estimated Base Score: 7.5 (High)

Threat Level: Medium to High. While the vulnerability does not allow data theft or system compromise, it enables unauthorized purchases, leading to financial loss and inventory management issues.

Deep Dive & Mechanics

The vulnerability resides in the business logic layer of Optimizely Configured Commerce. The application likely has a server-side check to prevent the purchase of discontinued products. However, this check is performed after the request is processed by the client-side logic. An attacker can intercept and modify the HTTP request (e.g., using a proxy like Burp Suite) to change product identifiers, quantities, or other parameters that indicate a product is discontinued.

How it works:

  1. A storefront visitor browses a product that is marked as "discontinued" in the database.
  2. The client-side UI may hide the "Add to Cart" button or disable the purchase flow.
  3. The attacker intercepts the HTTP request (e.g., POST to /cart/add) and modifies the product ID or a flag that indicates the product is discontinued.
  4. The server receives the altered request and processes it without re-validating the product's availability, allowing the purchase to succeed.

Root Cause: The server does not perform a secondary validation of the product's status (discontinued vs. active) after receiving the request. It trusts the client-side logic to enforce this rule.

Vulnerable vs. Patched Code

Since no source code is provided, we can infer the logic:

Vulnerable Code (Conceptual):

// Server-side endpoint for adding to cart
app.post('/cart/add', (req, res) => {
    const productId = req.body.productId;
    const quantity = req.body.quantity;
    // No check for discontinued status
    addToCart(productId, quantity);
    res.send({ success: true });
});

Patched Code (Conceptual):

// Server-side endpoint for adding to cart
app.post('/cart/add', (req, res) => {
    const productId = req.body.productId;
    const quantity = req.body.quantity;
    // Check if product is discontinued
    const product = getProductById(productId);
    if (product.status === 'discontinued') {
        return res.status(400).send({ error: 'Product is discontinued' });
    }
    addToCart(productId, quantity);
    res.send({ success: true });
});

The patch adds a server-side validation to check the product's status before processing the request.

Exploitation & Lab Setup

Red Team

Objective: Purchase a discontinued product without authorization.

Prerequisites:

  • Access to a storefront of an unpatched Optimizely Configured Commerce instance.
  • A web proxy tool (e.g., Burp Suite, OWASP ZAP).

Steps:

  1. Browse to a product that is discontinued. Note the product ID from the URL or page source.
  2. Attempt to add the product to cart via the normal UI (if possible). If not, proceed to step 3.
  3. Intercept the HTTP request to the cart addition endpoint (e.g., POST /cart/add).
  4. Modify the request body to include the discontinued product ID and a valid quantity.
    POST /cart/add HTTP/1.1
    Host: vulnerable-store.com
    Content-Type: application/x-www-form-urlencoded
    
    productId=DISCONTINUED_PRODUCT_ID&quantity=1
    
  5. Forward the request to the server.
  6. Verify that the product is added to the cart and can be checked out.

No exploit code is available from Exploit-DB.

Blue Team

Detection:

  • Monitor for unusual cart addition requests where the product ID corresponds to a discontinued product.
  • Look for requests with missing or altered client-side validation headers.
  • Analyze server logs for successful purchases of products that are marked as discontinued.

Prevention:

  • Ensure server-side validation of product status is performed for all cart operations.
  • Implement input validation and sanitization on all user-supplied data.
  • Use a Web Application Firewall (WAF) to detect and block request tampering.

Indicators of Compromise (IOCs)

  • Network:
    • HTTP requests to /cart/add or similar endpoints with product IDs that are known to be discontinued.
    • Requests with unusual or missing Referer headers.
  • Logs:
    • Server logs showing successful addition of discontinued products to cart.
    • Audit logs showing orders containing discontinued products.
  • System:
    • Unusual inventory depletion for discontinued products.

Detection Engineering

YARA Rule

rule Detect_Discontinued_Product_Purchase {
    meta:
        description = "Detects HTTP requests attempting to purchase discontinued products"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-22384"
    strings:
        $s1 = "productId=" ascii wide nocase
        $s2 = "discontinued" ascii wide nocase
        $s3 = "addToCart" ascii wide nocase
    condition:
        all of ($s*) and #s1 > 0
}

Sigma Rule

title: Purchase of Discontinued Product
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects successful addition of discontinued products to cart
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/cart/add'
        cs-uri-query|contains: 'productId='
    condition: selection
falsepositives:
    - Legitimate admin actions
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-22384 - Attempt to purchase discontinued product"; flow:to_server; content:"POST"; http_method; content:"/cart/add"; http_uri; content:"productId="; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Upgrade to Optimizely Configured Commerce version 5.2.2408 or later.
  2. Workaround: If patching is not immediately possible, implement a server-side validation script that checks product status before processing cart additions. This can be done via a custom middleware or plugin.

Long-term Measures:

  • Conduct a thorough code review of all business logic endpoints to ensure server-side validation is enforced.
  • Implement a Web Application Firewall (WAF) with rules to detect and block request tampering.
  • Enable comprehensive logging and monitoring for all cart and checkout operations.
  • Perform regular security assessments and penetration testing.

Valters IT Signature

This report was generated by Valters IT DevSecOps & CTI Expert System. Analysis Date: 2025-04-10 CVE: CVE-2025-22384

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