Analysis Report Folder Analysis cache/wp-duplicate-page_1.8 → cache/wp-duplicate-page_1.8.1 - CVE-2025-14001

Shared security patch analysis results

AI Used: claude_cli haiku
Share this analysis
CVE Security Analysis & Writeups

Comprehensive 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.

CVE-2025-14001
AI-Generated Analysis
Use quotes for exact: \"SQL injection\" | Operators: hello AND bye, admin OR root, -error, NOT warning
Showing 0 to 0 of 0 results
includes/Classes/ButtonDuplicate.php AI: 1 vulnerabilities 1 true positive CVE-2025-14001
--- 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 ) {
AI Analysis
```
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.
```
CVE Analysis Results:
CVE-2025-14001: Yes
View CVE Description
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.
wp-duplicate-page.php AI: No vulnerabilities
--- 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__ );
AI Analysis
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.
CVE Analysis Results:
CVE-2025-14001: No
View CVE Description
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.