Shared security patch analysis results
AI Used: claude_cli haikuComprehensive security analysis generated by AI for each confirmed CVE match. Click on a CVE to view the detailed writeup including vulnerability background, technical details, patch analysis, and PoC guide.
--- cache/wp-duplicate-page_1.8/includes/Classes/ButtonDuplicate.php 2026-01-13 11:24:39.440380071 +0000+++ cache/wp-duplicate-page_1.8.1/includes/Classes/ButtonDuplicate.php 2026-01-13 11:24:41.236490981 +0000@@ -53,6 +53,9 @@ public function duplicateBulkHandle( $redirect, $action, $postIds ) { if ( 'wp_duplicate_page_bulk_action' === $action ) {+ if ( ! Utils::isCurrentUserAllowedToCopy() ) {+ return $redirect;+ } // Get the original post $counter = 0; if ( is_array( $postIds ) ) {@@ -78,6 +81,9 @@ public function duplicateBulkHandleHPOS( $redirect, $action, $ids ) { if ( 'wp_duplicate_page_bulk_action' === $action ) {+ if ( ! Utils::isCurrentUserAllowedToCopy() ) {+ return $redirect;+ } $counter = 0; if ( is_array( $ids ) ) { foreach ( $ids as $orderId ) {
```
Vulnerability Existed: yes
TRUE POSITIVE
Improper Access Control - CWE-284 - includes/Classes/ButtonDuplicate.php [56-58, 84-86]
Old Code:
public function duplicateBulkHandle( $redirect, $action, $postIds ) {
if ( 'wp_duplicate_page_bulk_action' === $action ) {
// Get the original post
$counter = 0;
if ( is_array( $postIds ) ) {
...
Fixed Code:
public function duplicateBulkHandle( $redirect, $action, $postIds ) {
if ( 'wp_duplicate_page_bulk_action' === $action ) {
if ( ! Utils::isCurrentUserAllowedToCopy() ) {
return $redirect;
}
// Get the original post
$counter = 0;
if ( is_array( $postIds ) ) {
...
Explanation:
The original code was missing authorization checks before performing bulk page duplication operations. An authenticated user could potentially duplicate pages without proper permission validation. The fix adds a capability check via `Utils::isCurrentUserAllowedToCopy()` in both bulk action handlers (`duplicateBulkHandle` and `duplicateBulkHandleHPOS`), ensuring only authorized users can execute the duplication action. This prevents privilege escalation and unauthorized content duplication.
```
The WP Duplicate Page plugin for WordPress is vulnerable to unauthorized modification of data due to missing capability checks on the 'duplicateBulkHandle' and 'duplicateBulkHandleHPOS' functions in all versions up to, and including, 1.8. This makes it possible for authenticated attackers, with Contributor-level access and above, to duplicate arbitrary posts, pages, and WooCommerce HPOS orders even when their role is explicitly excluded from the plugin's "Allowed User Roles" setting, potentially exposing sensitive information and allowing duplicate fulfillment of WooCommerce orders.
--- cache/wp-duplicate-page_1.8/wp-duplicate-page.php 2026-01-13 11:24:39.440380071 +0000+++ cache/wp-duplicate-page_1.8.1/wp-duplicate-page.php 2026-01-13 11:24:41.240491228 +0000@@ -1,9 +1,9 @@ <?php /** * Plugin Name: WP Duplicate Page- * Plugin URI: https://ninjateam.org/wp-duplicate-page/+ * Plugin URI: https://ninjateam.org * Description: Duplicate Posts, Pages and Custom Post Types.- * Version: 1.8+ * Version: 1.8.1 * Author: NinjaTeam * Author URI: https://ninjateam.org * Text Domain: wp-duplicate-page@@ -16,7 +16,7 @@ defined( 'ABSPATH' ) || exit; -define( 'NJT_DUPLICATE_VERSION', '1.8' );+define( 'NJT_DUPLICATE_VERSION', '1.8.1' ); define( 'NJT_DUPLICATE_DOMAIN', 'wp-duplicate-page' ); define( 'NJT_DUPLICATE_PLUGIN_DIR', __DIR__ );
Analyzing the provided code diff for security vulnerabilities... Vulnerability Existed: no No CWE - N/A - wp-duplicate-page.php (all lines) Old Code: Plugin URI: https://ninjateam.org/wp-duplicate-page/ Version: 1.8 define( 'NJT_DUPLICATE_VERSION', '1.8' ); Fixed Code: Plugin URI: https://ninjateam.org Version: 1.8.1 define( 'NJT_DUPLICATE_VERSION', '1.8.1' ); Explanation: This diff contains only metadata and version number updates. The changes include: 1. Plugin URI simplified from full path to root domain 2. Version bumped from 1.8 to 1.8.1 3. Version constant updated to match These are routine maintenance updates with no security implications. No code logic changes, no input handling modifications, no authentication/authorization changes, and no introduction or removal of security-related functionality. This appears to be a minor version bump with no security fixes or vulnerabilities present.
The WP Duplicate Page plugin for WordPress is vulnerable to unauthorized modification of data due to missing capability checks on the 'duplicateBulkHandle' and 'duplicateBulkHandleHPOS' functions in all versions up to, and including, 1.8. This makes it possible for authenticated attackers, with Contributor-level access and above, to duplicate arbitrary posts, pages, and WooCommerce HPOS orders even when their role is explicitly excluded from the plugin's "Allowed User Roles" setting, potentially exposing sensitive information and allowing duplicate fulfillment of WooCommerce orders.