CVE-2024-50498 is a code injection vulnerability in the LUBUS WP Query Console WordPress plugin affecting versions through 1.0. The available content states that the flaw allows code injection via the plugin’s query functionality exposed at the /?rest_route=/wqc/v1/query endpoint, and that attackers exploited it to evaluate arbitrary PHP code. In observed attacks, the vulnerability was used after installation of the plugin to execute attacker-supplied PHP and write a malicious PHP dropper into the web root, providing persistent access. Specific vulnerable function-level details are not provided in the supplied content.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
Repository purpose: a CTF-style, Dockerized reproduction of an unauthenticated WordPress plugin RCE (CVE-2024-50498) in WP Query Console v1.0, plus a working Python exploit. Key exploit capability: - Remote Code Execution via PHP eval injection: the plugin’s REST handler `get_query_result()` (src/plugin/wp-query-console/wp-query-console.php) reads `queryArgs` from the REST request and executes `eval("return $args_string;")`. Because `queryArgs` is attacker-controlled and unsanitized, arbitrary PHP can be injected. The exploit uses `system()` to run OS commands. Exploit implementation (exploit.py): - Sends an HTTP POST with JSON body `{ "queryArgs": "(system('<cmd>') ? [] : [])", "queryType": "WP_Query" }`. - Targets `/<base>/index.php?rest_route=/wqc/v1/query` by default (handles sites without pretty permalinks). Prints status code and response body; command output is often visible even if the JSON response becomes invalid. Vulnerable component details: - REST route registration: `register_rest_route('wqc/v1', '/query', ...)` allows GET/POST. - Vulnerable sink: `eval()` on `queryArgs` intended to convert a user-supplied PHP array string into an array; only a weak `is_array()` check is applied after eval. Repository structure: - `exploit.py`: standalone Python RCE exploit client. - `src/plugin/wp-query-console/`: full WordPress plugin source (PHP + React admin UI + webpack build config). The React UI posts to the same REST endpoint using `wpApiSettings.root` and includes an `X-WP-Nonce`, but the server-side route shown does not enforce authentication/nonce checks. - `Dockerfile` + `start.sh`: builds and initializes a WordPress + MariaDB environment, installs/activates the vulnerable plugin, and exposes Apache on port 80. `start.sh` also sets up a demo homepage and MU-plugin styling for the CTF. - `walkthrough.md`: explains the CVE, the vulnerable code path, and provides curl/python usage examples. Overall: this is an operational PoC/CTF package demonstrating unauthenticated RCE against the WP Query Console plugin by abusing its REST API parameter `queryArgs` that is passed to PHP `eval()`.
Repository contains an operational unauthenticated RCE exploit for CVE-2024-50498 affecting the LUBUS WP Query Console WordPress plugin. The root PoC script (CVE-2024-50498.py) sends a POST request to the plugin’s REST route /wp-json/wqc/v1/query with a malicious queryArgs value that is evaluated server-side. The injected PHP writes a base64-decoded webshell (cmd.php) into wp-content/uploads/<year>/<month>/, then the script verifies the shell is reachable and provides an interactive loop that executes arbitrary commands via GET parameter cmd. Vulnerability root cause is visible in the bundled plugin source (plugin/1.0/wp-query-console.php): get_query_result() takes user-controlled queryArgs and runs eval("return $args_string;") to convert it into an array, without authentication/nonce checks in the REST route registration. This enables arbitrary PHP execution pre-auth. Repo structure: - CVE-2024-50498.py: main exploit (requests-based), payload dropper + interactive shell. - README.md: brief PoC description and usage. - plugin/1.0/: a copy of the vulnerable plugin (PHP + React admin UI sources, built CSS, language template, and leftover .svn metadata). The React UI posts to wqc/v1/query with an X-WP-Nonce, but the server-side route does not enforce permissions, enabling unauthenticated access. Overall purpose: demonstrate and weaponize (basic) exploitation of the vulnerable REST endpoint to achieve remote command execution by planting a persistent webshell in uploads.
This repository contains a Python exploit script (CVE-2024-50498.py) and a README.md for CVE-2024-50498, a code injection vulnerability in the LUBUS WP Query Console WordPress plugin (version 1.0). The exploit first checks if the target site is running the vulnerable plugin by requesting the plugin's README.txt file. If the site is vulnerable, it sends a POST request to the '/wp-json/wqc/v1/query' endpoint with a payload that triggers a reverse shell using netcat. The attacker must provide their own IP and port for the reverse shell connection and have a Netcat listener running. The README provides usage instructions and describes the vulnerability. The exploit is operational and provides a working reverse shell if the target is vulnerable.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
3 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.