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

CVE-2024-39323

CVE-2024-39323 Improper Access Control in Aimeos
📅 PUBLISHED: 2024-07-02 16:03 UTC 🔄 UPDATED: 2026-09-23 20:22 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.44%
👁️
0.44% probability
11.0× 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
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-39323 is an improper access control vulnerability in the Aimeos GraphQL API admin interface (ai-admin-graphql). An authenticated user with editor-level privileges can escalate their privileges to take over an admin account in the backend. This vulnerability affects versions starting from 2022.04.01 up to, but not including, the patched versions 2022.10.10, 2023.10.6, and 2024.04.6. The CVSS score is 7.1 (High), and the attack complexity is low, requiring only low privileges and no user interaction. The vulnerability allows an editor to modify and take over an admin account, leading to a complete compromise of the backend administration.

⚡ 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 affects the ai-admin-graphql package, which is a PHP package distributed via Composer (Packagist). Organizations using Aimeos should verify their dependency version and update to a patched release immediately. The package is a core component of the Aimeos e-commerce framework, and a compromise of the admin interface can lead to data breaches, unauthorized transactions, and full site takeover.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.1 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
  • Attack Vector (AV): Network (N) - The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low (L) - No special conditions are required.
  • Privileges Required (PR): Low (L) - An editor account is needed.
  • User Interaction (UI): None (N) - No user action is required.
  • Scope (S): Unchanged (U) - The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High (H) - An attacker can access all admin data.
  • Integrity (I): High (H) - An attacker can modify admin accounts and data.
  • Availability (A): None (N) - The vulnerability does not affect availability.

Threat Level: High. The low attack complexity and low privileges required make this a significant threat for any Aimeos deployment with editor-level users.

Deep Dive & Mechanics

The vulnerability resides in the GraphQL API admin interface (ai-admin-graphql). The improper access control allows an editor to perform mutations (modifications) that should be restricted to administrators. Specifically, the GraphQL mutations for user management do not properly check if the requesting user has the admin role. An editor can craft a GraphQL mutation to modify the email, password, or role of an existing admin account, effectively taking it over.

The core issue is a missing or insufficient authorization check in the GraphQL resolver functions. The application relies on the user's role to determine access, but the check is either absent or can be bypassed. The fix involves adding proper role validation to all sensitive mutations.

Vulnerable vs. Patched Code

The vulnerable code likely lacks a role check in the GraphQL mutation resolver. For example, a mutation to update a user might look like this:

Vulnerable Code (Conceptual):

class UserMutation {
    public function updateUser($id, $data) {
        // No role check - any authenticated user can call this
        $user = User::find($id);
        $user->update($data);
        return $user;
    }
}

Patched Code (Conceptual):

class UserMutation {
    public function updateUser($id, $data) {
        // Proper role check
        if (!Auth::user()->hasRole('admin')) {
            throw new AuthorizationException('Only admins can update users.');
        }
        $user = User::find($id);
        $user->update($data);
        return $user;
    }
}

The patched versions (2022.10.10, 2023.10.6, 2024.04.6) include these authorization checks.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A running Aimeos instance with a vulnerable version.
  • An editor account (e.g., editor@example.com / password).
  • An admin account to target (e.g., admin@example.com).

Exploitation Steps:

  1. Authenticate as Editor: Obtain a valid session token or API key for the editor account.
  2. Craft GraphQL Mutation: Send a mutation to change the admin's email and password. The exact mutation depends on the Aimeos GraphQL schema, but a typical example is:
    mutation {
      updateUser(
        id: "admin_user_id"
        input: {
          email: "attacker@example.com"
          password: "newpassword123"
        }
      ) {
        id
        email
      }
    }
    
  3. Execute Mutation: Send the mutation to the GraphQL endpoint (e.g., /admin/graphql).
  4. Takeover: The admin account's email and password are now changed. Log in as the admin using the new credentials.
  5. Post-Exploitation: With admin access, the attacker can modify products, orders, and other sensitive data.

Lab Setup:

  • Use Docker to spin up a vulnerable Aimeos instance.
  • Create an editor and an admin user.
  • Use a tool like Postman, Insomnia, or curl to send the GraphQL mutation.

Blue Team

Detection:

  • Monitor GraphQL API logs for mutations targeting user objects (updateUser, updateCustomer, etc.) from non-admin users.
  • Alert on any changes to admin account email addresses or passwords.
  • Monitor for multiple failed login attempts followed by a successful login from a new IP for an admin account.

Hunting:

  • Search for GraphQL queries that include updateUser or similar mutations.
  • Correlate user ID changes with the requesting user's role.
  • Review audit logs for any modifications to user roles or permissions.

Indicators of Compromise (IOCs)

  • Network:
    • GraphQL mutation requests to /admin/graphql containing updateUser or updateCustomer with email and password fields.
    • Unusual login events for admin accounts from new IP addresses.
  • System:
    • Changes to admin user email addresses or passwords in the database.
    • New admin accounts created by non-admin users.
  • Logs:
    • Application logs showing updateUser mutations from users with the editor role.
    • Authentication logs showing successful logins for admin accounts immediately after a password change.

Detection Engineering

YARA Rule

rule Detect_Aimeos_Admin_Takeover_GraphQL {
    meta:
        description = "Detects GraphQL mutations targeting admin user takeover in Aimeos"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "CVE-2024-39323"
    strings:
        $mutation = /mutation\s*\{[^}]*updateUser\s*\([^)]*\)\s*\{[^}]*email[^}]*password[^}]*\}/ nocase
        $mutation2 = /mutation\s*\{[^}]*updateCustomer\s*\([^)]*\)\s*\{[^}]*email[^}]*password[^}]*\}/ nocase
    condition:
        any of them
}

Sigma Rule

title: Aimeos Admin Takeover via GraphQL
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: Detects GraphQL mutations that attempt to modify admin user credentials
author: Valters IT
date: 2024/01/01
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-39323
logsource:
    category: application
    product: aimeos
detection:
    selection:
        http.url: "/admin/graphql"
        http.method: POST
        http.body|contains: 
            - "updateUser"
            - "updateCustomer"
        http.body|contains|all:
            - "email"
            - "password"
    condition: selection
falsepositives:
    - Legitimate admin actions (should be rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"Aimeos Admin Takeover via GraphQL"; flow:to_server; content:"POST"; http_method; content:"/admin/graphql"; http_uri; content:"updateUser"; http_client_body; content:"email"; http_client_body; content:"password"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade: Update ai-admin-graphql to version 2022.10.10, 2023.10.6, or 2024.04.6 (or later).
  2. Review User Accounts: Audit all admin accounts for unauthorized changes. Reset passwords for any suspicious accounts.
  3. Restrict Editor Privileges: If possible, temporarily disable editor accounts or restrict their access to the GraphQL API.

Long-Term Mitigations:

  • Implement strict role-based access control (RBAC) for all GraphQL mutations.
  • Enable detailed audit logging for all user management actions.
  • Regularly review and update dependencies.
  • Use a Web Application Firewall (WAF) to block suspicious GraphQL requests.

Valters IT

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