REPORT / 01
Analysis Report · Folder Analysis cache/awesome-support_6.3.6 → cache/awesome-support_6.3.7 — CVE-2025-12641
Shared security patch analysis results
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-12641
NVD
AI-Generated Analysis
05 ·
Findings
filter · search · paginate
Showing 0 to 0 of 0 results
includes/functions-user.php
AI: 1 vulnerabilities
1 true positive
CVE-2025-12641
--- cache/awesome-support_6.3.6/includes/functions-user.php 2026-01-16 00:21:05.935767548 +0000+++ cache/awesome-support_6.3.7/includes/functions-user.php 2026-01-16 00:22:35.369368495 +0000@@ -1683,6 +1683,16 @@ if( $user_id ) { + // FIX: Add capability check+ if ( ! current_user_can( 'edit_users' ) ) {+ wp_die( __( 'You do not have permission to activate users.', 'awesome-support' ), 403 );+ }+ + // FIX: Verify current user can edit the target user+ if ( ! current_user_can( 'edit_user', $user_id ) ) {+ wp_die( __( 'You do not have permission to edit this user.', 'awesome-support' ), 403 );+ }+ $role = wpas_get_option( 'moderated_activated_user_role' ); $updated = wp_update_user( array( 'ID' => $user_id, 'role' => $role ) );
AI Analysis
Vulnerability Existed: yes
TRUE POSITIVE
Privilege Escalation / Broken Access Control - CWE-284 - includes/functions-user.php Lines 1686-1695
Old Code:
```php
if( $user_id ) {
$role = wpas_get_option( 'moderated_activated_user_role' );
$updated = wp_update_user( array( 'ID' => $user_id, 'role' => $role ) );
```
Fixed Code:
```php
if( $user_id ) {
// FIX: Add capability check
if ( ! current_user_can( 'edit_users' ) ) {
wp_die( __( 'You do not have permission to activate users.', 'awesome-support' ), 403 );
}
// FIX: Verify current user can edit the target user
if ( ! current_user_can( 'edit_user', $user_id ) ) {
wp_die( __( 'You do not have permission to edit this user.', 'awesome-support' ), 403 );
}
$role = wpas_get_option( 'moderated_activated_user_role' );
$updated = wp_update_user( array( 'ID' => $user_id, 'role' => $role ) );
```
Explanation:
The original code lacked proper authorization checks before updating a user's role. Any authenticated user could potentially activate other users and assign them roles without verifying they had permission to do so. The fix adds two critical capability checks:
1. `current_user_can( 'edit_users' )` - Ensures the current user has the general capability to edit users
2. `current_user_can( 'edit_user', $user_id )` - Verifies the current user has permission to edit the specific target user
This prevents unauthorized privilege escalation and role manipulation attacks by enforcing WordPress's built-in permission system before executing the user update operation.
CVE Analysis Results:
CVE-2025-12641: Yes
View CVE Description
The Awesome Support - WordPress HelpDesk & Support Plugin for WordPress is vulnerable to authorization bypass due to missing capability checks in all versions up to, and including, 6.3.6. This is due to the 'wpas_do_mr_activate_user' function not verifying that a user has permission to modify other users' roles, combined with a nonce reuse vulnerability where public registration nonces are valid for privileged actions because all actions share the same nonce namespace. This makes it possible for unauthenticated attackers to demote administrators to low-privilege roles via the 'wpas-do=mr_activate_user' action with a user-controlled 'user_id' parameter, granted they can access the publicly available registration/submit ticket page to extract a valid nonce.
Showing 1 to 1 of 1 results