<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>SMS Alert - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/sms-alert/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 28 Jul 2026 08:19:24 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/sms-alert/feed.xml" rel="self" type="application/rss+xml"/><item><title>Authentication Bypass in WordPress SMS Alert Plugin Leads to Account Takeover (CVE-2026-15014)</title><link>https://feed.craftedsignal.io/briefs/2026-07-cve-2026-15014-wordpress-sms-alert-auth-bypass/</link><pubDate>Tue, 28 Jul 2026 08:19:24 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-cve-2026-15014-wordpress-sms-alert-auth-bypass/</guid><description>An authentication bypass vulnerability (CVE-2026-15014) in the 'SMS Alert - SMS &amp; OTP for WooCommerce, Order Notifications &amp; Abandoned Cart Recovery' WordPress plugin allows unauthenticated attackers to achieve account takeover by exploiting a flaw in the `processRegistration()` function's OTP verification, enabling authentication as any existing WordPress user with a known phone number.</description><content:encoded><![CDATA[<p>A critical authentication bypass vulnerability, identified as CVE-2026-15014, affects all versions up to and including 3.9.7 of the &quot;SMS Alert - SMS &amp; OTP for WooCommerce, Order Notifications &amp; Abandoned Cart Recovery&quot; plugin for WordPress. This flaw enables unauthenticated attackers to perform account takeover. The vulnerability stems from the <code>processRegistration()</code> function's improper handling of the <code>$_SESSION['sa_mobile_verified']</code> boolean flag, which is set to <code>true</code> after any successful One-Time Password (OTP) validation but is not bound to a specific phone number. This allows an attacker to complete OTP verification using a phone number they control, then subsequently submit a crafted registration request using a victim's known or guessable <code>billing_phone</code> value. This manipulation bypasses proper authentication, leading to the issuance of an authentication cookie for the victim's account and granting the attacker full control, including administrative access.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker initiates the OTP verification process within the vulnerable WordPress plugin using a phone number under their control.</li>
<li>The attacker successfully completes the OTP verification using their own phone number.</li>
<li>The plugin's <code>processRegistration()</code> function sets the <code>$_SESSION['sa_mobile_verified']</code> flag to <code>true</code>, indicating a successful OTP validation, but critically, this flag remains unbound to the specific phone number used for verification.</li>
<li>The attacker then constructs and sends a specially crafted HTTP POST request targeting the plugin's registration endpoint, which utilizes the <code>processRegistration()</code> function.</li>
<li>In this request, the attacker includes the <code>billing_phone</code> parameter, supplying the known or guessable phone number of a legitimate WordPress user account (the victim).</li>
<li>Due to the previously set, phone-unbound <code>$_SESSION['sa_mobile_verified']</code> flag, the <code>processRegistration()</code> function proceeds as if the victim's phone number has been legitimately verified.</li>
<li>The function then calls <code>wp_set_auth_cookie()</code>, resolving the victim's account based on the provided <code>billing_phone</code> and issuing an authentication cookie for that account to the attacker.</li>
<li>The attacker uses the stolen authentication cookie to gain full access and control over the victim's WordPress account, potentially including administrator privileges.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-15014 results in complete account takeover for any WordPress user whose registered phone number is known or can be guessed by the attacker. This includes high-privilege accounts such as administrators, leading to severe consequences including website defacement, data theft, arbitrary code execution (via plugin/theme editing), or further compromise of the web server. The CVSS v3.1 Base Score of 9.8 reflects the critical nature of this vulnerability, indicating easy exploitability and high impact on confidentiality, integrity, and availability.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately update the &quot;SMS Alert - SMS &amp; OTP for WooCommerce, Order Notifications &amp; Abandoned Cart Recovery&quot; plugin to a version patched against CVE-2026-15014 to prevent authentication bypass.</li>
<li>Deploy the Sigma rule &quot;Detects CVE-2026-15014 Exploitation Attempt (WordPress SMS Alert Plugin)&quot; to your SIEM to identify suspicious interactions with the vulnerable <code>processRegistration()</code> function.</li>
<li>Regularly review web server access logs for repeated <code>POST</code> requests to <code>wp-admin/admin-ajax.php</code> involving plugin-specific actions and the <code>billing_phone</code> parameter, as identified in the detection rule.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>wordpress</category><category>authentication-bypass</category><category>account-takeover</category><category>web-application</category><category>cve</category></item></channel></rss>