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

CVE-2025-66058

CVE-2025-66058 Missing Authorization in Pickplugins
📅 PUBLISHED: 2025-12-18 17:15 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.04%
👁️
0.04% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
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: L Integrity Low
A: L Availability Low
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-66058 is a Missing Authorization vulnerability (CWE-862) in the PickPlugins Post Grid and Gutenberg Blocks WordPress plugin, affecting versions up to and including 2.3.17. This flaw allows unauthenticated attackers to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access, modification, or privilege escalation within the WordPress ecosystem. The vulnerability is classified as a WordPress plugin issue and does not involve Apache or Nginx server software. With a CVSS score of 6.5 (Medium), the risk is elevated due to the lack of required authentication and the plugin's widespread use. No public proof-of-concept (PoC) or exploit code is currently available, and the patch status remains unknown.

⚡ 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 are advised to monitor the plugin's update channel and apply any security patches immediately upon release. Since the plugin is not an NPM, PyPI, Go, or Ruby package, no additional supply chain analysis is required.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
  • Base Score: 6.5 (Medium)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No victim action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited data modification.
  • Availability Impact: Low (A:L) – Minor service disruption possible.

Threat Level: Medium. The vulnerability is easily exploitable but has limited impact. However, in a WordPress multisite or shared hosting environment, the risk may be higher.

Deep Dive & Mechanics

The vulnerability resides in the Post Grid and Gutenberg Blocks plugin, which provides custom post grid layouts and Gutenberg blocks. The missing authorization occurs in one or more AJAX handlers or REST API endpoints that fail to verify user capabilities before processing requests. Specifically, the plugin does not properly enforce access controls on functions that handle post metadata, grid settings, or block rendering.

Root Cause: The plugin uses wp_ajax_* hooks without corresponding wp_ajax_nopriv_* checks, or it fails to call current_user_can() or wp_verify_nonce() in certain administrative actions. This allows unauthenticated users to trigger privileged operations.

Attack Vector: An attacker can send crafted HTTP requests to the vulnerable endpoints, bypassing authentication checks. For example, a request to update grid options or retrieve sensitive post data may succeed without a valid nonce or user session.

Impact: Successful exploitation could lead to:

  • Unauthorized modification of plugin settings.
  • Exposure of private or draft post content.
  • Potential privilege escalation if the plugin interacts with user roles or capabilities.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical comparison based on common fixes for missing authorization vulnerabilities.

Vulnerable Code (Example):

add_action('wp_ajax_update_grid_settings', 'update_grid_settings');
function update_grid_settings() {
    // No capability check
    update_option('post_grid_settings', $_POST['settings']);
    wp_die();
}

Patched Code (Example):

add_action('wp_ajax_update_grid_settings', 'update_grid_settings');
function update_grid_settings() {
    // Added capability check
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized', 403);
    }
    // Verify nonce
    if (!wp_verify_nonce($_POST['_wpnonce'], 'update_grid_settings_nonce')) {
        wp_die('Nonce verification failed', 403);
    }
    update_option('post_grid_settings', $_POST['settings']);
    wp_die();
}

The patched version adds current_user_can('manage_options') and nonce verification to ensure only authorized administrators can modify settings.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A WordPress instance with Post Grid plugin version <= 2.3.17.
  • Network access to the target.

Exploitation Steps:

  1. Identify vulnerable endpoints by analyzing the plugin's AJAX actions (e.g., post_grid_ajax, pgb_ajax).
  2. Craft a request to trigger unauthorized action. Example using curl:
    curl -X POST http://target/wp-admin/admin-ajax.php \
      -d 'action=post_grid_update_settings&settings[option]=value'
    
  3. If successful, the response will indicate the action was performed without authentication.

Note: No public exploit code is available; this is a conceptual demonstration.

Blue Team (Defensive)

Detection:

  • Monitor for unusual AJAX requests to admin-ajax.php with actions related to post_grid or pgb from unauthenticated users.
  • Look for HTTP 200 responses to requests that should require authentication.

Hunting:

  • Search logs for patterns like action=post_grid_ or action=pgb_ in POST requests without a valid _wpnonce parameter.
  • Use the following Splunk query:
    index=web sourcetype=access_combined uri_path="/wp-admin/admin-ajax.php" form_data=*post_grid* | search form_data!="*_wpnonce*"
    

Indicators of Compromise (IOCs)

  • Network IOCs:

    • POST requests to /wp-admin/admin-ajax.php with action=post_grid_* or action=pgb_* from unauthenticated IPs.
    • Unusual HTTP 200 responses to AJAX requests without a valid nonce.
  • File IOCs:

    • Modified plugin files in /wp-content/plugins/post-grid/ (e.g., altered admin-ajax.php or includes/ scripts).
    • Unexpected options in the wp_options table with post_grid_ prefix.
  • Log IOCs:

    • Repeated failed nonce verification attempts in WordPress debug logs.
    • Access logs showing multiple admin-ajax.php requests from the same IP within a short timeframe.

Detection Engineering

YARA Rule

rule CVE_2025_66058_Missing_Auth {
    meta:
        description = "Detects missing authorization in PickPlugins Post Grid plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-66058"
    strings:
        $ajax_action = /action=post_grid_/
        $no_nonce = /&action=post_grid_/
        $vuln_func = "update_grid_settings"
    condition:
        $ajax_action and $no_nonce and #vuln_func > 0
}

Sigma Rule

title: CVE-2025-66058 - Missing Authorization in Post Grid Plugin
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthenticated AJAX requests to Post Grid plugin endpoints
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=post_grid_'
    condition: selection
falsepositives:
    - Legitimate admin actions with valid nonces
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-66058 - Missing Authorization in Post Grid Plugin"; flow:to_server,established; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=post_grid_"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is available, if possible.
  2. Implement a Web Application Firewall (WAF) rule to block unauthenticated requests to admin-ajax.php with action=post_grid_* or action=pgb_*.
  3. Restrict access to /wp-admin/admin-ajax.php using .htaccess or server-level rules for non-logged-in users.

Long-term Fix:

  • Monitor the plugin's official page for a security update.
  • Apply the patch as soon as it is released.
  • Consider replacing the plugin with an alternative that has active security maintenance.

Workaround:

  • Add the following code to the theme's functions.php to enforce capability checks (if you can modify the plugin):
    add_action('wp_ajax_post_grid_update_settings', function() {
        if (!current_user_can('manage_options')) {
            wp_die('Unauthorized', 403);
        }
    }, 1);
    

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:"Post Grid"
http.html:"post-grid"
http.html:"wp-content/plugins/post-grid"

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