Description
The QA Assistants – Driven by data plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 5.3.0 via the 'dlevent_ver' parameter. This is due to unrestricted PHP deserialization via wrap_unserialize_static() calling unserialize() without an allowed_classes restriction, combined with serialize_escape() failing to sanitize path traversal sequences in the raw_name parameter. This makes it possible for unauthenticated attackers to inject a PHP Object. The Guzzle FileCookieJar gadget present in the plugin's bundled Composer dependencies can be leveraged to perform an Arbitrary File Write, writing attacker-controlled content to an attacker-chosen filename, which can result in Remote Code Execution. Exploitation requires triggering the qahm_cron_data_manage scheduled event via wp-cron.php to invoke the deserialization sink against a planted queue file, but this endpoint requires no authentication and fires automatically on a two-minute schedule.
Published: 2026-11-07
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The QA Assistants – Driven by data plugin for WordPress is vulnerable to PHP Object Injection in all versions up to 5.3.0. An attacker can send crafted input using the raw_name and dlevent_ver parameters to trigger unserialize() without class restrictions on the deserialized payload. The deserialization gadget chain can leverage the bundled Guzzle FileCookieJar class, enabling an arbitrary file write of attacker‑controlled content. Writing executable code to the web root or other writable locations allows complete remote code execution. The vulnerability is exploitable without authentication by triggering the wp‑cron scheduled event via wp-cron.php, which runs automatically every two minutes.

Affected Systems

Any WordPress site using the QA Assistants plugin version 5.3.0 or earlier. The vendor is Quarka and the product is referred to as QA Assistants – Driven by data. Specific affected versions are all releases up to 5.3.0; no newer fixed version is listed in the provided data.

Risk and Exploitability

The CVSS score of 8.8 classifies this issue as high severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting that widespread exploitation is not yet reported. The likely attack vector is unauthenticated remote exploitation via the automatic wp-cron process. An attacker who can force wp-cron to run (which it does automatically) can supply malicious parameters and achieve remote code execution by manipulating the plugin’s deserialization workflow and the Guzzle gadget. Because no authentication is required and the triggering endpoint is publicly accessible, the threat is significant even in environments with limited user accounts.

Generated by OpenCVE AI on November 7, 2026 at 08:01 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the QA Assistants plugin to the latest available release (or at least to a version that removes the vulnerable deserialization logic).
  • If an upgrade is not immediately possible, block or restrict unauthenticated access to wp-cron.php, for example by adding a .htaccess rule or using a plugin that disables wp-cron for guests, thereby preventing the automated deserialization trigger.
  • Remove or replace the bundled Guzzle FileCookieJar dependency or adjust PHP file‑write permissions (e.g., via open_basedir) to prevent the gadget from creating files, ensuring the plugin cannot write attacker‑controlled content to the filesystem.

Generated by OpenCVE AI on November 7, 2026 at 08:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 07 Nov 2026 06:45:00 +0000

Type Values Removed Values Added
Description The QA Assistants – Driven by data plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 5.3.0 via the 'dlevent_ver' parameter. This is due to unrestricted PHP deserialization via wrap_unserialize_static() calling unserialize() without an allowed_classes restriction, combined with serialize_escape() failing to sanitize path traversal sequences in the raw_name parameter. This makes it possible for unauthenticated attackers to inject a PHP Object. The Guzzle FileCookieJar gadget present in the plugin's bundled Composer dependencies can be leveraged to perform an Arbitrary File Write, writing attacker-controlled content to an attacker-chosen filename, which can result in Remote Code Execution. Exploitation requires triggering the qahm_cron_data_manage scheduled event via wp-cron.php to invoke the deserialization sink against a planted queue file, but this endpoint requires no authentication and fires automatically on a two-minute schedule.
Title QA Assistants <= 5.3.0 - Unauthenticated PHP Object Injection to Remote Code Execution via 'raw_name' and 'dlevent_ver' Parameters
Weaknesses CWE-502
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-11-07T06:39:37.565Z

Reserved: 2026-09-08T20:36:46.771Z

Link: CVE-2026-87112

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-07T07:17:05.090

Modified: 2026-11-07T07:17:05.243

Link: CVE-2026-87112

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T08:15:03Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data