WordPress Plugin Vulnerabilities

Post Duplicator < 3.0.9 - Missing Authorization to Authenticated (Contributor+) Protected Post Meta Insertion via 'customMetaData' Parameter

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.

Affects Plugins

Fixed in 3.0.9

References

Classification

Type
NO AUTHORISATION
CWE

Miscellaneous

Original Researcher
Nguyen Ba Hung (bashu)
Verified
No

Timeline

Publicly Published
2026-02-24 (about 3 months ago)
Added
2026-02-24 (about 3 months ago)
Last Updated
2026-02-25 (about 3 months ago)

Other