Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-24733

CVE-2025-24733: Post Grid Master Path Traversal Flaw

CVE-2025-24733 is a path traversal vulnerability in Addonmaster Post Grid Master plugin that enables PHP local file inclusion attacks. This article covers technical details, affected versions through 3.4.12, security impact, and mitigation strategies.

Published:

CVE-2025-24733 Overview

CVE-2025-24733 is a Local File Inclusion (LFI) vulnerability in the Post Grid Master WordPress plugin developed by Akhtarujjaman Shuvo (Addonmaster). The flaw resides in the ajax-filter-posts component and stems from improper control of filenames used in PHP include or require statements. Authenticated attackers with low privileges can abuse this weakness to include arbitrary local PHP files on the server. All versions of Post Grid Master up to and including 3.4.12 are affected. The issue is tracked under [CWE-98] and [CWE-706].

Critical Impact

An authenticated attacker can read sensitive server-side files and potentially execute PHP code by including attacker-controlled or log-poisoned files through the vulnerable AJAX endpoint.

Affected Products

  • Addonmaster Post Grid Master for WordPress (plugin slug: ajax-filter-posts)
  • All versions from initial release through 3.4.12
  • WordPress sites using the vulnerable plugin with any authenticated user role

Discovery Timeline

  • 2025-01-24 - CVE-2025-24733 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-24733

Vulnerability Analysis

The Post Grid Master plugin exposes AJAX handlers under the ajax-filter-posts component that construct filesystem paths from user-supplied input. The plugin passes these paths to PHP inclusion functions without validating that the resolved file remains within an allowed directory. An authenticated attacker submits a crafted parameter to the AJAX endpoint and forces the plugin to include an arbitrary local PHP file. The attack requires network access to the WordPress site and low-privilege authentication, with no user interaction. Successful exploitation results in disclosure of file contents such as wp-config.php, credentials, or private keys stored on the web server.

Root Cause

The root cause is improper neutralization of path traversal sequences and missing allowlist validation on the filename parameter consumed by the plugin's AJAX handler. PHP treats included files as executable code, so any file with PHP syntax is parsed and run within the WordPress process context. This weakness maps directly to [CWE-98] (PHP Remote File Inclusion) and [CWE-706] (Use of Incorrectly-Resolved Name or Reference).

Attack Vector

Exploitation occurs over the network against the WordPress admin-ajax.php endpoint. The attacker authenticates as a subscriber-level or higher user, then issues an AJAX request to the vulnerable ajax-filter-posts action with a manipulated path parameter. Traversal sequences such as ../../../../ allow escape from the intended template directory. Attackers commonly chain LFI with log poisoning or session file injection to achieve remote code execution when writable log files contain attacker-controlled PHP.

No public proof-of-concept code has been published. See the Patchstack Security Vulnerability Report for advisory details.

Detection Methods for CVE-2025-24733

Indicators of Compromise

  • Requests to /wp-admin/admin-ajax.php with the action parameter referencing ajax-filter-posts and path traversal sequences such as ../ or URL-encoded %2e%2e%2f
  • Web server access logs showing parameter values containing paths like wp-config.php, /etc/passwd, or /proc/self/environ
  • Unexpected PHP errors referencing include(), require(), or failed to open stream in web server error logs
  • Outbound network activity from the PHP-FPM or web server process to attacker-controlled hosts following suspicious AJAX requests

Detection Strategies

  • Deploy web application firewall rules that inspect admin-ajax.php requests for directory traversal patterns targeting the ajax-filter-posts action
  • Monitor WordPress plugin inventories for post-grid-master at version 3.4.12 or earlier across managed sites
  • Correlate authenticated user session activity with anomalous file access patterns on the web server host

Monitoring Recommendations

  • Enable verbose PHP error logging and forward logs to a centralized SIEM for pattern matching on inclusion failures
  • Alert on any read access to wp-config.php originating from the web server user outside of expected WordPress bootstrap operations
  • Track baseline volumes of admin-ajax.php requests per user account and flag deviations from authenticated subscriber accounts

How to Mitigate CVE-2025-24733

Immediate Actions Required

  • Identify all WordPress installations running Post Grid Master version 3.4.12 or earlier and prioritize remediation
  • Deactivate and remove the plugin if a patched version is not yet available for your deployment
  • Rotate any credentials, API keys, or secrets stored in wp-config.php if exploitation is suspected
  • Restrict WordPress user registration and audit existing low-privilege accounts for signs of abuse

Patch Information

At the time of NVD publication, the advisory lists affected versions through 3.4.12 with no fixed version specified. Consult the Patchstack Security Vulnerability Report and the plugin vendor's WordPress.org listing for the latest patched release before upgrading.

Workarounds

  • Block requests to admin-ajax.php where the action parameter matches ajax-filter-posts at the WAF or reverse proxy layer until a patch is applied
  • Apply open_basedir restrictions in PHP configuration to limit which directories the web server can read
  • Enforce least-privilege file permissions so that sensitive files such as wp-config.php are not world-readable by the web server user
  • Disable allow_url_include and allow_url_fopen in php.ini to reduce impact if the flaw is chained with remote inclusion techniques
bash
# Configuration example: harden php.ini against file inclusion abuse
allow_url_include = Off
allow_url_fopen = Off
open_basedir = "/var/www/html:/tmp"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.