CVE-2024-37131
Executive Summary
CVE-2024-37131 is a critical security vulnerability in SCG Policy Manager (all versions) that stems from an overly permissive Cross-Origin Resource Policy (CORP). This flaw allows a remote unauthenticated attacker to craft a malicious web page that, when visited by an authenticated SCG Policy Manager user, can execute arbitrary actions within the context of that user's session. The vulnerability is classified as a Cross-Origin Resource Policy misconfiguration (CWE-942) and carries a CVSS score of 7.5 (High). No public exploit code or proof-of-concept is currently available, and the vendor has not released a patch. The attack vector is network-based, requires user interaction (the victim must click a link or visit a malicious site), and can lead to full compromise of the SCG Policy Manager instance.
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 an open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary enterprise application (SCG Policy Manager). No supply chain implications are identified.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- Base Score: 7.5 (High)
- Attack Vector (AV): Network – The attacker can exploit this remotely.
- Attack Complexity (AC): Low – No special conditions required.
- Privileges Required (PR): None – No authentication needed to trigger the exploit.
- User Interaction (UI): Required – The victim must click a malicious link or visit a crafted page.
- Scope (S): Unchanged – The vulnerable component and the attacker's target are the same.
- Confidentiality (C): High – Full read access to application data.
- Integrity (I): High – Full write access to application data.
- Availability (A): High – Potential to disrupt service.
Threat Level: High. The combination of low attack complexity, no privileges required, and high impact makes this a serious risk for any organization using SCG Policy Manager.
Deep Dive & Mechanics
The vulnerability lies in the Cross-Origin Resource Policy (CORP) header configuration of SCG Policy Manager. CORP is an HTTP response header that instructs browsers on whether a resource can be loaded cross-origin. An overly permissive CORP policy (e.g., Cross-Origin-Resource-Policy: cross-origin) allows any website to embed or fetch resources from the vulnerable application.
Attack Flow:
- An attacker hosts a malicious website containing JavaScript that makes cross-origin requests to the SCG Policy Manager instance.
- The attacker lures an authenticated SCG Policy Manager user to visit this malicious site (e.g., via phishing email or social engineering).
- The victim's browser, having an active session cookie for the SCG Policy Manager, sends authenticated requests to the vulnerable application.
- Because the CORP header is overly permissive, the browser allows the malicious site to read the responses, effectively enabling the attacker to perform actions as the authenticated user.
This is a classic Cross-Site Request Forgery (CSRF) variant, but amplified by the misconfigured CORP header, which removes the same-origin policy protection that normally prevents such attacks.
Vulnerable vs. Patched Code
Vulnerable Configuration (All versions of SCG Policy Manager): The application likely sets a CORP header that is too permissive. Example of a vulnerable HTTP response header:
Cross-Origin-Resource-Policy: cross-origin
Or the header is missing entirely, allowing default browser behavior that may be exploited.
Patched Configuration (Hypothetical fix): A secure configuration would restrict the CORP header to same-origin or same-site:
Cross-Origin-Resource-Policy: same-origin
Additionally, implementing CSRF tokens and strict CORS headers would mitigate the attack.
Since no official patch exists, the "patched" code is not available.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A running instance of SCG Policy Manager (any version).
- An authenticated user session (cookie).
- A victim willing to click a link.
Exploitation Steps:
- Craft a malicious HTML page that performs a cross-origin request to the SCG Policy Manager.
- Host the page on an attacker-controlled server.
- Send the link to the victim (e.g., via email).
- Victim clicks the link while authenticated to SCG Policy Manager.
- The malicious page executes actions (e.g., create admin accounts, modify policies) using the victim's session.
Example Malicious HTML (Conceptual):
<!DOCTYPE html>
<html>
<body>
<script>
// Perform a cross-origin POST to create a new admin user
fetch('https://target-scg-policy-manager/admin/users', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username: 'attacker', password: 'pwned', role: 'admin' })
});
</script>
</body>
</html>
Note: No public exploit code exists. This is a conceptual example.
Blue Team (Detection & Defense)
Detection:
- Monitor HTTP response headers for
Cross-Origin-Resource-Policy: cross-originor missing CORP headers. - Alert on cross-origin requests to SCG Policy Manager from unexpected referrers.
- Use browser security tools to detect mixed content or cross-origin reads.
Defense:
- Immediate: Implement a reverse proxy (e.g., Nginx, Apache) to override the CORP header to
same-origin. - Long-term: Apply CSRF tokens to all state-changing requests.
- User education: Train users to avoid clicking suspicious links while authenticated.
Indicators of Compromise (IOCs)
- Network: HTTP requests to SCG Policy Manager with
Originheader not matching the application's domain. - Logs: Unusual POST/PUT/DELETE requests to sensitive endpoints (e.g.,
/admin/users,/policy/create) from external referrers. - Browser: Presence of
Cross-Origin-Resource-Policy: cross-originin HTTP response headers. - Session: Multiple simultaneous sessions from different IPs for the same user account.
Detection Engineering
YARA Rule
rule CVE_2024_37131_CORP_Misconfig {
meta:
description = "Detects overly permissive Cross-Origin-Resource-Policy header in HTTP responses"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-37131"
strings:
$corp_permissive = "Cross-Origin-Resource-Policy: cross-origin" nocase
$corp_missing = "Cross-Origin-Resource-Policy:" nocase
condition:
$corp_permissive or not $corp_missing
}
Sigma Rule
title: CVE-2024-37131 - Overly Permissive CORP Header
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP responses with Cross-Origin-Resource-Policy set to cross-origin or missing
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: generic
detection:
selection:
- Header: "Cross-Origin-Resource-Policy: cross-origin"
- Header: "Cross-Origin-Resource-Policy:" # Missing header
condition: selection
falsepositives:
- Legitimate cross-origin resource sharing (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-37131 - Overly Permissive CORP Header Detected"; flow:to_client; content:"Cross-Origin-Resource-Policy: cross-origin"; http_header; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Override CORP Header: Deploy a reverse proxy (Nginx, Apache, or cloud WAF) to strip or replace the CORP header with
Cross-Origin-Resource-Policy: same-origin. - Implement CSRF Tokens: Add anti-CSRF tokens to all state-changing forms and API endpoints.
- Restrict CORS: Set strict
Access-Control-Allow-Originheaders to only trusted domains.
Long-Term Fix:
- Contact SCG for an official patch.
- Upgrade to a patched version when available.
- Conduct a security audit of all HTTP security headers (CSP, HSTS, X-Frame-Options).
Workaround:
- Disable cross-origin requests entirely by configuring the web server to reject requests with an
Originheader not matching the application's domain.
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.