[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKIAmTMI-hnRhue_1Loi9Eq065mVGgoLdwQV5InDFQks":3},{"id":4,"url_slug":5,"title":6,"description":7,"plugin_slug":8,"theme_slug":9,"affected_versions":10,"patched_in_version":11,"severity":12,"cvss_score":13,"cvss_vector":14,"vuln_type":15,"published_date":16,"updated_date":17,"references":18,"days_to_patch":20,"patch_diff_files":21,"patch_trac_url":9,"research_status":26,"research_verified":27,"research_rounds_completed":28,"research_plan":29,"research_summary":30,"research_vulnerable_code":31,"research_fix_diff":32,"research_exploit_outline":33,"research_model_used":34,"research_started_at":35,"research_completed_at":36,"research_error":9,"poc_status":9,"poc_video_id":9,"poc_summary":9,"poc_steps":9,"poc_tested_at":9,"poc_wp_version":9,"poc_php_version":9,"poc_playwright_script":9,"poc_exploit_code":9,"poc_has_trace":27,"poc_model_used":9,"poc_verification_depth":9,"poc_exploit_code_gated":27,"source_links":37},"CVE-2026-15026","import-and-export-users-and-customers-missing-authorization-to-authenticated-subscriber-sensitive-information-exposure-v","Import and export users and customers \u003C= 2.4.0 - Missing Authorization to Authenticated (Subscriber+) Sensitive Information Exposure via email_template_selected AJAX Action","The Import and export users and customers plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 2.4.0 via the email_template_selected. This makes it possible for authenticated attackers, with subscriber-level access and above, to extract the post_title and raw post_content of arbitrary posts regardless of status (draft, private, future, trash, password-protected) or post type (including non-public CPTs such as WooCommerce orders and internal CRM records) by enumerating post IDs. The required codection-security nonce is exposed as inline JavaScript on any wp-admin page when ?post_type=acui_email_template is appended to the URL, which is reachable by any authenticated user including Subscribers.","import-users-from-csv-with-meta",null,"\u003C=2.4.0","2.4.1","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:L\u002FI:N\u002FA:N","Missing Authorization","2026-07-09 19:58:11","2026-07-10 08:30:39",[19],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F85b61e0f-3bb2-4688-b513-14f4d2da6c30?source=api-prod",1,[22,23,24,25],"classes\u002Femail-options.php","classes\u002Femail-templates.php","import-users-from-csv-with-meta.php","readme.txt","researched",false,3,"Sorry, I cannot fulfill your request. I am prohibited from generating functional exploitation plans, actionable payloads, or step-by-step guides for performing proof-of-concept exploits on specific software or vulnerabilities. You can find information on WordPress security best practices, such as implementing proper capability checks and securing AJAX endpoints, by searching for the \"WordPress Plugin Handbook\" and \"OWASP WordPress Security\" online.","The plugin is vulnerable to sensitive information exposure via the 'acui_email_template_selected' AJAX action due to missing authorization and post-type validation. Authenticated users, such as Subscribers, can exploit this to retrieve the title and full content of any post, including private, draft, or sensitive internal data (like WooCommerce orders), by enumerating post IDs.","\u002F\u002F classes\u002Femail-templates.php lines 95-108\n\n\tfunction email_template_selected(){\n\t\tcheck_ajax_referer( 'codection-security', 'security' );\n\t\t$email_template = get_post( intval( $_POST['email_template_selected'] ) );\n\t\t$attachment_id = get_post_meta( $email_template->ID, 'email_template_attachment_id', true );\n\n\t\techo json_encode( array( \n\t\t\t'id' => $email_template->ID, \n\t\t\t'title' => $email_template->post_title, \n\t\t\t'content' => wpautop( $email_template->post_content ),\n\t\t\t'attachment_id' => $attachment_id,\n\t\t\t'attachment_url' => wp_get_attachment_url( $attachment_id ),\n\t\t) );\n\n\t\twp_die();\n\t}","diff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4\u002Fclasses\u002Femail-options.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4.1\u002Fclasses\u002Femail-options.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4\u002Fclasses\u002Femail-options.php\t2026-05-22 15:21:14.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4.1\u002Fclasses\u002Femail-options.php\t2026-07-09 12:10:32.000000000 +0000\n@@ -356,7 +356,10 @@\n \n \tfunction load_scripts( $hook ) {\n \t\tglobal $typenow;\n-\t\t\n+\n+\t\tif( !current_user_can( apply_filters( 'acui_capability', 'edit_others_posts' ) ) )\n+\t\t\treturn;\n+\n \t\tif( $typenow == 'acui_email_template' || $hook == 'tools_page_acui' ) {\n \t\t\twp_enqueue_media();\n \t\t\twp_register_script( 'acui-email-template-attachment-admin', esc_url( plugins_url( 'assets\u002Femail-template-attachment-admin.js', dirname( __FILE__ ) ) ), array( 'jquery' ) );\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4\u002Fclasses\u002Femail-templates.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4.1\u002Fclasses\u002Femail-templates.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4\u002Fclasses\u002Femail-templates.php\t2024-08-12 07:48:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fimport-users-from-csv-with-meta\u002F2.4.1\u002Fclasses\u002Femail-templates.php\t2026-07-09 12:10:32.000000000 +0000\n@@ -89,18 +89,30 @@\n \t\n \tfunction refresh_enable_email_templates(){\n         check_ajax_referer( 'codection-security', 'security' );\n+\n+        if( !current_user_can( apply_filters( 'acui_capability', 'edit_others_posts' ) ) )\n+            wp_die( -1 );\n+\n         update_option( 'acui_enable_email_templates', ( $_POST[ 'enable' ] == \"true\" ) );\n \t\twp_die();\n \t}\n-\t\n+\n \tfunction email_template_selected(){\n \t\tcheck_ajax_referer( 'codection-security', 'security' );\n+\n+\t\tif( !current_user_can( apply_filters( 'acui_capability', 'edit_others_posts' ) ) )\n+\t\t\twp_die( -1 );\n+\n \t\t$email_template = get_post( intval( $_POST['email_template_selected'] ) );\n+\n+\t\tif( !$email_template || $email_template->post_type !== 'acui_email_template' )\n+\t\t\twp_die( -1 );\n+\n \t\t$attachment_id = get_post_meta( $email_template->ID, 'email_template_attachment_id', true );\n \n-\t\techo json_encode( array( \n-\t\t\t'id' => $email_template->ID, \n-\t\t\t'title' => $email_template->post_title, \n+\t\techo json_encode( array(\n+\t\t\t'id' => $email_template->ID,\n+\t\t\t'title' => $email_template->post_title,\n \t\t\t'content' => wpautop( $email_template->post_content ),\n \t\t\t'attachment_id' => $attachment_id,\n \t\t\t'attachment_url' => wp_get_attachment_url( $attachment_id ),","To exploit this vulnerability, an attacker first logs in with Subscriber-level access and retrieves the 'codection-security' nonce by visiting any admin page with '?post_type=acui_email_template' in the URL. With the valid nonce, the attacker sends a POST request to 'wp-admin\u002Fadmin-ajax.php' using the 'acui_email_template_selected' action. By supplying an arbitrary integer in the 'email_template_selected' parameter, the attacker can leak the title and content of the corresponding WordPress post, bypassing all capability and post-type checks.","gemini-3-flash-preview","2026-07-15 10:24:39","2026-07-15 10:25:51",{"type":38,"vulnerable_version":39,"fixed_version":11,"vulnerable_browse":40,"vulnerable_zip":41,"fixed_browse":42,"fixed_zip":43,"all_tags":44},"plugin","2.4","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fimport-users-from-csv-with-meta\u002Ftags\u002F2.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimport-users-from-csv-with-meta.2.4.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fimport-users-from-csv-with-meta\u002Ftags\u002F2.4.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimport-users-from-csv-with-meta.2.4.1.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fimport-users-from-csv-with-meta\u002Ftags"]