[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwHHNYCGFylMhj7Mgv227F-Eb0yJE0sk_Krrf7kRO_WI":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":30,"research_verified":31,"research_rounds_completed":32,"research_plan":33,"research_summary":34,"research_vulnerable_code":35,"research_fix_diff":36,"research_exploit_outline":37,"research_model_used":38,"research_started_at":39,"research_completed_at":40,"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":31,"poc_model_used":9,"poc_verification_depth":9,"poc_exploit_code_gated":31,"source_links":41},"CVE-2026-3018","newsletters-unauthenticated-sql-injection-via-wpmlsubscriberid-parameter","Newsletters \u003C= 4.13 - Unauthenticated SQL Injection via wpmlsubscriber_id Parameter","The Newsletters plugin for WordPress is vulnerable to time-based SQL Injection via the ‘wpmlsubscriber_id’ parameter in all versions up to, and including, 4.13 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","newsletters-lite",null,"\u003C=4.13","4.14","high",7.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:H\u002FI:N\u002FA:N","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2026-06-09 20:03:28","2026-06-10 08:28:21",[19],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F8e2672b5-64a2-4b30-b0be-2a9303d46ac1?source=api-prod",1,[22,23,24,25,26,27,28,29],"helpers\u002Fauth.php","includes\u002Fcheckinit.php","readme.txt","views\u002Fadmin\u002Fsettings\u002Fview_logs.php","views\u002Fadmin\u002Fsubmitserial.php","views\u002Fadmin\u002Fsubscribers\u002Funsubscribes.php","wp-mailinglist-plugin.php","wp-mailinglist.php","researched",false,3,"Sorry, I cannot fulfill your request. I am prohibited from generating functional exploitation plans, actionable attack payloads, or detailed guides for exploiting specific vulnerabilities. For information regarding securing WordPress applications against SQL injection, you may research WordPress security best practices and the correct implementation of the `$wpdb->prepare()` function on the official WordPress Developer Resources website.","The Newsletters plugin for WordPress is vulnerable to unauthenticated time-based SQL injection via the 'wpmlsubscriber_id' parameter. This occurs because the plugin fails to properly sanitize or use parameterized queries (via $wpdb->prepare) when retrieving subscriber information, allowing attackers to execute arbitrary SQL commands and extract sensitive data from the database.","\u002F* helpers\u002Fauth.php line 11 *\u002F\nfunction logged_in($subscriber_id = null) {\n    global $wpdb, $Db, $Subscriber;\n    \n    $user_id = false;\t\n    if (is_user_logged_in()) {\n        $user_id = get_current_user_id();\n    }\n    \n    $subscriberauth = $this -> read_cookie();\n    $Db -> model = $Subscriber -> model;\n    \n    if (!empty($subscriber_id) && $subscriber = $Db -> find(array('id' => $subscriber_id), false, false, true, true, false)) {\n        return $subscriber;\n    } elseif (!empty($subscriberauth) && $subscriber = $Db -> find(array('cookieauth' => $subscriberauth), false, false, true, true, false)) {\t\t\t\n        return $subscriber;\n    } elseif (!empty($user_id) && $subscriber = $Db -> find(array('user_id' => $user_id))) {\n        return $subscriber;\n    }\n\n    return false;\n}","diff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fnewsletters-lite\u002F4.13\u002Fhelpers\u002Fauth.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fnewsletters-lite\u002F4.14\u002Fhelpers\u002Fauth.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fnewsletters-lite\u002F4.13\u002Fhelpers\u002Fauth.php\t2026-06-10 07:08:28.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fnewsletters-lite\u002F4.14\u002Fhelpers\u002Fauth.php\t2026-06-10 08:19:24.000000000 +0000\n@@ -20,8 +20,12 @@\n \t\t\n \t\tif (!empty($subscriber_id) && $subscriber = $Db -> find(array('id' => $subscriber_id), false, false, true, true, false)) {\n \t\t\treturn $subscriber;\n-\t\t} elseif (!empty($subscriberauth) && $subscriber = $Db -> find(array('cookieauth' => $subscriberauth), false, false, true, true, false)) {\t\t\t\n-\t\t\treturn $subscriber;\n+\t\t} elseif (!empty($subscriberauth) && $subscriber = $Db -> find(array('cookieauth' => $subscriberauth), false, false, true, true, false)) {\n+\t\t\t\u002F\u002F VULNERABILITY PATCH: Reject predictable tokens to prevent session takeover\n+            if ($subscriberauth === md5($subscriber->id)) {\n+\t\t\t\treturn false;\n+\t\t\t}\n+\t\t\treturn $subscriber;\n \t\t} elseif (!empty($user_id) && $subscriber = $Db -> find(array('user_id' => $user_id))) {\n \t\t\treturn $subscriber;\n \t\t}","The vulnerability is exploited by targeting a WordPress page containing the [newsletters_management] shortcode or interacting with features that trigger the subscriber lookup logic (such as mailing list activation or email resending). An unauthenticated attacker sends a request (GET or POST) containing the 'wpmlsubscriber_id' parameter set to a malicious SQL payload. Since the plugin directly incorporates this parameter into a database query without using $wpdb->prepare(), the attacker can use time-based injection techniques (e.g., using SLEEP()) to extract data character-by-character from the database by measuring the server's response time.","gemini-3-flash-preview","2026-06-26 01:39:18","2026-06-26 01:40:03",{"type":42,"vulnerable_version":43,"fixed_version":11,"vulnerable_browse":44,"vulnerable_zip":45,"fixed_browse":46,"fixed_zip":47,"all_tags":48},"plugin","4.13","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fnewsletters-lite\u002Ftags\u002F4.13","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnewsletters-lite.4.13.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fnewsletters-lite\u002Ftags\u002F4.14","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnewsletters-lite.4.14.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fnewsletters-lite\u002Ftags"]