Плагин Post Duplicator для WordPress уязвим к несанкционированной произвольной вставке защищенных мета-постов во всех версиях до 3.0.8 включительно. Это связано с тем, что функция duulate_post() в includes/api.php использует $wpdb->insert() непосредственно в таблице wp_postmeta вместо стандартной функции WordPress add_post_meta(), которая вызывает is_protected_meta(), чтобы пользователи с низким уровнем привилегий не могли устанавливать защищенные метаключи (начинающиеся с _). Это позволяет аутентифицированным злоумышленникам с доступом на уровне участника и выше внедрять произвольные защищенные метаключи сообщений, такие как `_wp_page_template`, `_wp_attached_file` и другие конфиденциальные метаключи, в дублированные сообщения через параметр массива JSON `customMetaData` в конечной точке REST API `/wp-json/post-duplicator/v1/duulate-post`.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1