Description
The Post Duplicator plugin for WordPress is vulnerable to unauthorized arbitrary protected post meta insertion in all versions up to, and including, 3.0.8. This is due to the `duplicate_post()` function in `includes/api.php` using `$wpdb->insert()` directly to the `wp_postmeta` table instead of WordPress's standard `add_post_meta()` function, which would call `is_protected_meta()` to prevent lower-privileged users from setting protected meta keys (those starting with `_`). This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary protected post meta keys such as `_wp_page_template`, `_wp_attached_file`, and other sensitive meta keys on duplicated posts via the `customMetaData` JSON array parameter in the `/wp-json/post-duplicator/v1/duplicate-post` REST API endpoint.
Problem types
Product status
* (semver)
Timeline
| 2026-02-11: | Vendor Notified |
| 2026-02-24: | Disclosed |
Credits
Nguyen Ba Hung
References
www.wordfence.com/...-934c-4f3b-ab2a-65df1490ca8a?source=cve
plugins.trac.wordpress.org/...or/tags/3.0.6/includes/api.php
plugins.trac.wordpress.org/...or/tags/3.0.6/includes/api.php
plugins.trac.wordpress.org/...%2Ftrunk&sfp_email=&sfph_mail=