<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Surfer - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/surfer/</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>Sat, 07 Nov 2026 14:09:32 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/surfer/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Surfer WordPress Plugin: Broken access control (CVE-2026-112222)</title><link>https://feed.craftedsignal.io/briefs/2026-11-surfer-plugin-auth-bypass/</link><pubDate>Sat, 07 Nov 2026 14:09:32 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-surfer-plugin-auth-bypass/</guid><description>A broken access control vulnerability in the Surfer WordPress plugin (CVE-2026-112222) allows authenticated Subscribers to exfiltrate API keys via profile page requests and perform unauthorized REST API actions.</description><content:encoded><![CDATA[<p>The Surfer WordPress plugin is vulnerable to a broken access control issue (CVE-2026-112222) where low-privileged users (Subscribers) can obtain the API access key used for plugin authentication. By visiting the profile page with a crafted <code>post_type</code> parameter, the API key is exposed within a rendered JavaScript object. This key can be used as a Bearer token for the plugin’s REST API endpoints.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the WordPress site as a user with the 'Subscriber' role.</li>
<li>Attacker performs a GET request to <code>/wp-admin/profile.php?post_type=post</code>.</li>
<li>The server renders the profile page including the <code>wpsurfer</code> JavaScript object.</li>
<li>The object contains the <code>api_key</code> property, exposing the <code>wpsurfer_api_access_key</code> configuration value.</li>
<li>Attacker extracts the key from the HTML response body.</li>
<li>Attacker uses the extracted key in a <code>Bearer</code> token header to query or post to the <code>surferseo/v1</code> REST API endpoints.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows a low-privileged user to obtain administrative API access, potentially enabling unauthorized modification of site content through the plugin's REST API, such as importing posts.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Audit WordPress user accounts to ensure only authorized individuals hold active Subscriber roles.</li>
<li>Monitor web access logs for anomalous requests to <code>/wp-admin/profile.php</code> containing the <code>post_type</code> query parameter, especially from user accounts with the Subscriber role.</li>
<li>Review plugin configurations and monitor the <code>wpsurfer_api_access_key</code> for indicators of compromise.</li>
<li>Apply patches for the Surfer plugin as soon as the vendor makes them available.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category></item></channel></rss>