CVE-2024-8040
Executive Summary
CVE-2024-8040 is an authorization bypass vulnerability in Dassault Systèmes' 3DSwym component of the 3DSwymer platform, specifically affecting the 3DEXPERIENCE R2024x release. The flaw allows an authenticated attacker to access unauthorized data by manipulating a user-controlled key parameter. With a CVSS score of 7.7 (High), this vulnerability poses a significant risk to data confidentiality in enterprise environments using the 3DEXPERIENCE platform. No public proof-of-concept or patch details are currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild.
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
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a proprietary enterprise software platform (3DEXPERIENCE) and its 3DSwym collaboration module.
CVSS Breakdown & Threat Level
- CVSS Score: 7.7 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low (authenticated user)
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
The threat level is High due to the low attack complexity and the potential for unauthorized access to sensitive data. The vulnerability requires authentication but no user interaction, making it exploitable by any authenticated user with minimal effort.
Deep Dive & Mechanics
The vulnerability is classified as CWE-639 (Authorization Bypass Through User-Controlled Key). In 3DSwym, user-controlled keys (such as object IDs, session tokens, or resource identifiers) are used to access data. The application fails to properly validate whether the authenticated user has the necessary permissions to access the resource associated with the provided key. An attacker can manipulate these keys (e.g., by incrementing IDs or using enumeration techniques) to access data belonging to other users or groups.
The affected component is 3DSwym, a collaboration and data management module within the 3DSwymer platform on 3DEXPERIENCE R2024x. The vulnerability allows an authenticated attacker to bypass authorization checks and retrieve unauthorized data, potentially exposing sensitive design files, project information, or user data.
Vulnerable vs. Patched Code
No patch details are available. The vulnerable code likely involves a function that retrieves data based on a user-supplied key without proper authorization checks. A patched version would implement server-side validation to ensure the authenticated user has explicit permission to access the requested resource.
Vulnerable Code (Conceptual):
def get_data(request):
key = request.GET.get('key')
data = database.fetch(key) # No authorization check
return data
Patched Code (Conceptual):
def get_data(request):
key = request.GET.get('key')
user = request.user
if not user.has_permission(key):
return "Unauthorized", 403
data = database.fetch(key)
return data
Exploitation & Lab Setup
Red Team
Prerequisites:
- Valid authenticated session on 3DEXPERIENCE R2024x
- Access to the 3DSwym API endpoints
Exploitation Steps:
- Authenticate to the 3DEXPERIENCE platform.
- Identify API endpoints that accept user-controlled keys (e.g.,
/api/3dswym/data?key=123). - Enumerate keys by incrementing or guessing values (e.g.,
key=124,key=125). - Observe responses for unauthorized data access.
Example Request:
GET /api/3dswym/data?key=456 HTTP/1.1
Host: target-3dexperience.com
Cookie: session=valid_session_token
Expected Response (Vulnerable):
{
"data": "Sensitive project information"
}
Blue Team
Detection:
- Monitor for unusual patterns in API requests, especially sequential or brute-forced key values.
- Alert on repeated 403 errors followed by successful 200 responses for different keys.
- Use Web Application Firewall (WAF) rules to block requests with suspicious key patterns.
Hunting:
- Search logs for requests to
/api/3dswym/datawith varying key parameters from the same user. - Correlate with authentication logs to identify users accessing resources outside their normal scope.
Indicators of Compromise (IOCs)
- Network: HTTP requests to
/api/3dswym/datawith sequential or enumerated key parameters. - Logs: Multiple 403 errors followed by 200 responses for different keys from the same user.
- Behavior: Unusual access patterns to 3DSwym data endpoints by authenticated users.
Detection Engineering
YARA Rule
rule CVE_2024_8040_3DSwym_Key_Enumeration {
meta:
description = "Detects potential exploitation of CVE-2024-8040 via key enumeration in 3DSwym"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-8040"
strings:
$key_param = "/api/3dswym/data?key="
$sequential = /\?key=\d{3,}/ // Matches numeric keys of 3+ digits
condition:
$key_param and #sequential > 5 // More than 5 sequential requests
}
Sigma Rule
title: CVE-2024-8040 - 3DSwym Authorization Bypass via Key Manipulation
id: 3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects potential exploitation of CVE-2024-8040 by monitoring for sequential key requests to 3DSwym API
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains: "/api/3dswym/data?key="
condition: selection
timeframe: 5m
aggregation:
field: c-ip
condition: gt 10
falsepositives:
- Legitimate API usage with multiple keys
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-8040 - 3DSwym Key Enumeration Attempt"; flow:to_server; content:"/api/3dswym/data?key="; http_uri; pcre:"/\?key=\d{3,}/"; threshold: type both, track by_src, count 10, seconds 300; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Apply any patches released by Dassault Systèmes as soon as available.
- Restrict access to 3DSwym API endpoints using network segmentation and WAF rules.
- Implement additional logging and monitoring for 3DSwym data access.
Long-term Fixes:
- Enforce server-side authorization checks for all user-controlled keys.
- Use non-predictable identifiers (e.g., UUIDs) instead of sequential IDs.
- Conduct regular security audits of API endpoints.
Workarounds:
- Disable 3DSwym if not critical to operations.
- Implement rate limiting on API endpoints to slow down enumeration attempts.
Valters IT
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.