<?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>Poweradmin - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/poweradmin/</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>Fri, 24 Jul 2026 22:02:03 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/poweradmin/feed.xml" rel="self" type="application/rss+xml"/><item><title>Poweradmin OIDC `sub` Collation Bypass Leads to Account Takeover</title><link>https://feed.craftedsignal.io/briefs/2026-07-poweradmin-oidc-collation-bypass/</link><pubDate>Fri, 24 Jul 2026 22:02:03 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-poweradmin-oidc-collation-bypass/</guid><description>A collation vulnerability in Poweradmin's OIDC integration allows an unauthenticated attacker to take over victim accounts by exploiting the case and accent-insensitive MySQL collation (`utf8mb4_unicode_ci`) used for OIDC subject (`sub`) identifiers, causing the attacker's colliding `sub` to resolve to the victim's `user_id` during authentication.</description><content:encoded><![CDATA[<p>A high-severity vulnerability has been identified in Poweradmin, an open-source web-based management tool for PowerDNS. This flaw, tracked in GHSA-cmwh-g2h8-c222, allows an unauthenticated attacker to bypass OIDC identity collation, leading to account takeover. The issue stems from Poweradmin's use of a case- and accent-insensitive MySQL collation (<code>utf8mb4_unicode_ci</code>) for storing and matching OIDC subject identifiers (<code>oidc_subject</code>). An attacker can create an OIDC account with a subject that is a collation variant of a legitimate victim's subject (e.g., <code>victim-login</code> vs. <code>victím-login</code>). When the attacker attempts to authenticate, Poweradmin's database lookup, performed under the weak collation, incorrectly matches the attacker's subject to the victim's existing <code>user_id</code>, granting the attacker an authenticated session to the victim's Poweradmin account. The vulnerability affects Poweradmin versions 4.1.0 through 4.2.4 and 4.3.0 through 4.3.3, and it has been fixed in versions 4.2.5, 4.3.4, and 4.4.0.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A legitimate victim links their OIDC account with Poweradmin; Poweradmin stores the victim's OIDC <code>sub</code> (e.g., <code>victim-login</code>) in the <code>oidc_user_links</code> table with a <code>utf8mb4_unicode_ci</code> collation.</li>
<li>An attacker creates an OIDC account at the same OIDC provider with a <code>sub</code> identifier that is a collation variant of the victim's <code>sub</code> (e.g., <code>victím-login</code>), exploiting the accent-insensitive nature of the collation.</li>
<li>The attacker initiates an OIDC login to Poweradmin by accessing <code>/oidc/login?provider=generic</code> and authenticates with their attacker OIDC credentials (<code>victím-login</code>).</li>
<li>Poweradmin receives the attacker's OIDC <code>sub</code> (<code>victím-login</code>) from the OIDC provider's userinfo endpoint after a successful authorization code flow.</li>
<li>Poweradmin queries its <code>oidc_user_links</code> database table to find an existing user linked to the received <code>oidc_subject</code> and <code>provider_id</code>.</li>
<li>Due to the <code>utf8mb4_unicode_ci</code> collation used for <code>oidc_subject</code>, the database query interprets the attacker's <code>sub</code> (<code>victím-login</code>) as equal to the victim's <code>sub</code> (<code>victim-login</code>).</li>
<li>The database returns the <code>user_id</code> associated with the victim's account, and Poweradmin establishes an authenticated session for the attacker under the victim's identity, leading to account takeover.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an unauthenticated attacker, with control over an OIDC account that has a colliding subject identifier, to gain full access to a victim's Poweradmin account. This can result in unauthorized modification or deletion of DNS records, compromise of administrative settings, and complete control over the PowerDNS environment managed by Poweradmin. The attacker can achieve this without knowing or modifying the victim's password, leveraging only their own OIDC credentials and the database collation weakness. No specific victim counts or targeted sectors were provided, but any organization using affected Poweradmin versions with OIDC authentication is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch Poweradmin installations to versions 4.2.5, 4.3.4, or 4.4.0 immediately to address the OIDC <code>sub</code> collation bypass vulnerability.</li>
<li>As part of the upgrade process, execute the provided SQL update script located in the <code>sql/</code> directory for your specific database to migrate the <code>oidc_user_links</code> table columns (<code>oidc_subject</code>, <code>provider_id</code>) to a binary or byte-preserving collation (e.g., <code>utf8mb4_bin</code>).</li>
<li>Review other identity and authorization lookups within your Poweradmin environment, specifically <code>findUserByEmail()</code>, <code>findPermissionTemplateByName()</code>, and <code>findGroupByName()</code>, to ensure they enforce byte-exact matching where security boundaries are involved.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>account-takeover</category><category>oidc</category><category>vulnerability</category><category>web-application</category><category>poweradmin</category></item></channel></rss>