CVE-2024-37296
Executive Summary
CVE-2024-37296 is a missing authorization vulnerability in the Aimeos HTML client, an open-source e-commerce framework. The flaw allows an unauthenticated attacker to download digital products (e.g., PDFs, software, media files) without completing a valid payment transaction. This bypasses the payment verification logic, enabling theft of paid digital goods. The vulnerability affects all versions from 2020.04.1 up to the patched releases. The CVSS score is 5.3 (Medium), with a low EPSS probability of 0.0%, indicating limited active exploitation at this time. No public proof-of-concept code or exploit templates have been released.
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.
No signup required
Supply Chain & Package Security
Aimeos is distributed as a PHP package via Composer. The vulnerable component is the aimeos/aimeos-core package. Organizations using Composer-based deployments should audit their composer.lock for affected version ranges. The vulnerability is in the HTML client layer, not the core framework, but the package is typically installed as a dependency. Ensure that the aimeos/aimeos-typo3, aimeos/aimeos-laravel, or standalone HTML client packages are updated.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – Impact confined to the vulnerable component.
- Confidentiality (C): Low (L) – Limited to digital download files.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The vulnerability enables unauthorized access to digital goods, leading to revenue loss and potential data leakage if downloads contain sensitive information. The lack of public exploits reduces immediate risk, but the simplicity of the flaw makes it trivial to weaponize.
Deep Dive & Mechanics
The Aimeos HTML client provides a front-end for e-commerce shops. When a customer purchases a digital download, the system should verify payment status before serving the file. The vulnerability lies in the download controller or middleware that fails to check the order payment status. An attacker can directly request the download URL (e.g., /download/file/123) without a valid order or payment. The system serves the file if the order exists, regardless of payment state.
The root cause is a missing authorization check (CWE-862) in the download handling code. The application does not validate that the order associated with the download has a successful payment transaction. This allows an attacker to enumerate order IDs or download tokens and retrieve files.
Vulnerable vs. Patched Code
Vulnerable Code (pre-patch):
// In DownloadController or similar
public function downloadAction($orderId, $fileId) {
$order = $this->getOrder($orderId);
// Missing payment status check
$file = $this->getFile($fileId);
return $this->serveFile($file);
}
Patched Code (post-patch):
public function downloadAction($orderId, $fileId) {
$order = $this->getOrder($orderId);
// Added payment status verification
if ($order->getPaymentStatus() !== 'paid') {
throw new \RuntimeException('Payment not completed');
}
$file = $this->getFile($fileId);
return $this->serveFile($file);
}
The patch adds a check for the order's payment status before serving the file. Only orders with a status of 'paid' (or equivalent) are allowed to proceed.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Aimeos shop with digital download products (e.g., version 2024.04.4).
- Knowledge of a valid order ID (can be obtained by placing an order without payment or by enumeration).
Exploitation Steps:
- Identify a digital download product and its associated order ID (e.g., from order history or by brute-forcing small integers).
- Craft a direct request to the download endpoint:
GET /download/order/123/file/456 HTTP/1.1 Host: target-shop.com - If the order exists, the file is served without payment verification.
- Automate with a script to enumerate order IDs and download all files.
Example cURL:
curl -O "http://target-shop.com/download/order/123/file/456"
Blue Team
Detection:
- Monitor for repeated requests to
/download/order/*/file/*patterns without prior checkout or payment events. - Alert on high volumes of download requests from a single IP.
- Check server logs for 200 responses to download endpoints where the corresponding order has a
pendingorfailedpayment status.
Hunting:
- Query database for orders with downloads served but payment status not 'paid'.
- Review access logs for anomalous download patterns (e.g., sequential order IDs).
Indicators of Compromise (IOCs)
- Network: HTTP GET requests to
/download/order/[0-9]+/file/[0-9]+without a valid session or payment token. - Logs: Server access logs showing 200 responses for download endpoints with order IDs that have
payment_status!= 'paid'. - File: Unauthorized download of digital products (e.g., PDFs, ZIPs) from the server's file storage.
Detection Engineering
YARA Rule
rule CVE_2024_37296_Aimeos_Download_Bypass {
meta:
description = "Detects exploitation attempts of CVE-2024-37296 in Aimeos HTML client"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-37296"
strings:
$s1 = "/download/order/" ascii wide nocase
$s2 = "/file/" ascii wide nocase
$s3 = "GET" ascii wide nocase
condition:
all of ($s1, $s2, $s3) and #s1 > 0
}
Sigma Rule
title: CVE-2024-37296 Aimeos Unauthorized Download Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests targeting Aimeos download endpoints without proper payment verification.
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'GET'
cs-uri-stem|contains: '/download/order/'
cs-uri-stem|contains: '/file/'
condition: selection
falsepositives:
- Legitimate downloads after successful payment (requires correlation with payment logs)
level: medium
Suricata Rule
alert http any any -> any any (
msg:"CVE-2024-37296 Aimeos Unauthorized Digital Download Attempt";
flow:to_server,established;
content:"GET";
http_method;
content:"/download/order/";
http_uri;
content:"/file/";
http_uri;
classtype:attempted-recon;
sid:10000001;
rev:1;
reference:cve,2024-37296;
)
Remediation & Mitigation
Immediate:
- Upgrade Aimeos HTML client to the latest patched version (2024.04.5 or later) for your branch.
- If immediate upgrade is not possible, implement a Web Application Firewall (WAF) rule to block requests to
/download/order/*/file/*unless a valid payment token is present.
Long-term:
- Enforce payment verification at the application layer for all digital download endpoints.
- Implement rate limiting on download endpoints.
- Audit all order-related controllers for missing authorization checks.
- Use signed download URLs with expiration to prevent direct access.
Workaround:
- Disable digital download functionality temporarily by removing the download route or returning a 403 for all download requests.
Valters IT