REPORT / 01

Analysis Report · Folder Analysis cache/wedocs_2.1.15 → cache/wedocs_2.1.16 — CVE-2025-14574

Shared security patch analysis results

mode patchdiff ai claude_cli haiku
02 · Lifecycle actions cancel · resume · skip · regenerate
03 · Share this analysis copy link · embed report
03 · CVE Security Analysis & Writeups ai-generated · per cve

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-14574 NVD
AI-Generated Analysis
05 · Findings filter · search · paginate
Use quotes for exact: "SQL injection" · Operators: hello AND bye, admin OR root, -error, NOT warning
Showing 0 to 0 of 0 results
includes/API/SettingsApi.php AI: 1 vulnerabilities 1 true positive CVE-2025-14574
--- cache/wedocs_2.1.15/includes/API/SettingsApi.php	2026-01-10 00:36:40.120788096 +0000+++ cache/wedocs_2.1.16/includes/API/SettingsApi.php	2026-01-10 00:40:20.858373647 +0000@@ -67,7 +67,7 @@                 array(                     'methods'             => WP_REST_Server::READABLE,                     'callback'            => array( $this, 'get_items' ),-                    'permission_callback' => '__return_true',+                    'permission_callback' => array( $this, 'get_items_permissions_check' ),                 ),                 array(                     'methods'             => WP_REST_Server::CREATABLE,@@ -104,6 +104,23 @@     }      /**+     * Check settings data read permission.+     *+     * @since 2.1.16+     *+     * @param \WP_REST_Request $request+     *+     * @return bool|WP_Error+     */+    public function get_items_permissions_check( $request ) {+        if ( ! current_user_can( 'manage_options' ) ) {+            return new \WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to do that.', 'wedocs' ), array( 'status' => rest_authorization_required_code() ) );+        }++        return true;+    }++    /**      * Check settings data creation permission.      *      * @since 2.0.0
AI Analysis
Vulnerability Existed: yes
TRUE POSITIVE
Improper Access Control - CWE-284 - includes/API/SettingsApi.php Lines 70
[Old Code]
'permission_callback' => '__return_true',

[Fixed Code]
'permission_callback' => array( $this, 'get_items_permissions_check' ),

Explanation:
The original code used `__return_true` as the permission callback, which unconditionally allows all users (including unauthenticated users) to access the REST API endpoint for retrieving settings. This is a critical access control vulnerability. The fix implements a proper permission check via the `get_items_permissions_check()` method that verifies the user has the `manage_options` capability (administrator privilege) before allowing access to sensitive settings data. Without this check, any user could read potentially sensitive WordPress configuration and plugin settings, violating the principle of least privilege and exposing sensitive system information.
CVE Analysis Results:
CVE-2025-14574: Yes
View CVE Description
The weDocs plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 2.1.15 via the `/wp-json/wp/v2/docs/settings` REST API endpoint. This makes it possible for unauthenticated attackers to extract sensitive data including third party services API keys.
Showing 1 to 1 of 1 results