<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
 xmlns:atom="http://www.w3.org/2005/Atom"
 xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>IDPTrust Blog</title>
    <link>https://blog.idptrust.com/</link>
    <atom:link href="https://blog.idptrust.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Insights on IAM, Keycloak, SSO, and identity best practices by IDPTrust.</description>
    <language>en</language>
    
    <item>
      <title>Keycloak vs Auth0 in 2026: What CTOs Need to Know Before Deciding</title>
      <link>https://blog.idptrust.com/posts/keycloak-vs-auth0-guide-for-ctos/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/keycloak-vs-auth0-guide-for-ctos/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>IAM</category>
      <description><![CDATA[Okta acquired Auth0 in 2021 and raised prices. Many companies are now reconsidering their identity stack. Here's the unbiased comparison you need to make the right call.]]></description>
      <content:encoded><![CDATA[<p>We work with Keycloak every day. That gives us perspective — but it also means we have to be honest: Auth0 is an excellent product, and there are cases where it&#39;s the right choice.</p>
<p>This post is not a case for Keycloak. It&#39;s the comparison we&#39;d walk a CTO through if they had to make the decision in the next 30 days.</p>
<hr>
<h2>The Context That Changed Everything</h2>
<p>In 2021, Okta acquired Auth0 for $6.5 billion. What followed was predictable: plan restructuring, tier elimination, and price increases that caught many companies off guard — companies that had built their identity architecture on Auth0.</p>
<p>This isn&#39;t a criticism — it&#39;s the logic of any acquisition at that scale. But for a CTO evaluating their identity stack today, it means the Auth0 economics of 2019 are not the economics of 2026.</p>
<p>That&#39;s what&#39;s pushing many companies to reopen this conversation.</p>
<hr>
<h2>The Real Cost Model</h2>
<p>Auth0 charges by <strong>MAU</strong> (Monthly Active Users) — users who authenticate at least once per month. That sounds reasonable until you calculate what happens as you grow.</p>
<table>
<thead>
<tr>
<th>Active users</th>
<th>Auth0 (approximate)</th>
<th>Keycloak</th>
</tr>
</thead>
<tbody><tr>
<td>30,000 MAU</td>
<td>$2,100/month</td>
<td>Infrastructure cost</td>
</tr>
<tr>
<td>200,000 MAU</td>
<td>Negotiated pricing</td>
<td>Infrastructure cost</td>
</tr>
</tbody></table>
<p><em>Auth0 pricing varies by plan and changes frequently. Verify on their website before comparing.</em></p>
<p>With Keycloak, the cost is infrastructure (servers, database, monitoring) plus the team that operates it — internal or external. Beyond a certain volume, the difference is significant.</p>
<hr>
<h2>Control vs. Managed Service</h2>
<p>This is the real tension, and it has no universal answer.</p>
<p><strong>Auth0 gives you:</strong></p>
<ul>
<li>Very fast time to production — hours, not weeks</li>
<li>Managed infrastructure, no on-call rotations for your IDP going down</li>
<li>Excellent documentation and a developer experience few tools can match</li>
<li>Automatic security updates</li>
</ul>
<p><strong>Keycloak gives you:</strong></p>
<ul>
<li>Full control over authentication flows, token structure, and access policies</li>
<li>Real extensibility — you can modify almost any behavior through SPIs and extensions</li>
<li>No MAU limits or surprise invoices</li>
<li>Deployment flexibility — on-premises, your cloud, or any regulated environment</li>
</ul>
<p>The question is not which is better in the abstract. It&#39;s whether your organization has — or can get — the operational capacity to take advantage of that control.</p>
<hr>
<h2>Data Sovereignty: The Factor Most Companies Overlook</h2>
<p>With Auth0, your users&#39; identity data — emails, metadata, session history — lives on Okta&#39;s servers. For many companies, this isn&#39;t a problem. For others, it is.</p>
<p>Situations where it matters:</p>
<ul>
<li><strong>GDPR in the EU</strong>: you need to know exactly where data lives and be able to demonstrate international transfer compliance</li>
<li><strong>Regulated sectors</strong> (banking, healthcare, government): data residency requirements may directly rule out third-party SaaS solutions</li>
<li><strong>Enterprise customers</strong>: some contracts include clauses restricting where authentication data is processed</li>
</ul>
<p>With Keycloak, data lives where you decide. Full stop.</p>
<hr>
<h2>The Risk Nobody Measures: Vendor Lock-in</h2>
<p>Auth0 is built on open standards — OIDC, OAuth 2.0, SAML. In theory, migrating should be possible.</p>
<p>In practice, the lock-in comes from elsewhere:</p>
<ul>
<li>Business logic encoded in <strong>Actions</strong> (Auth0&#39;s proprietary scripting system)</li>
<li>Hooks and login flows built with their specific UI</li>
<li>User metadata in their data structure</li>
<li>Integrations with their marketplace</li>
</ul>
<p>Migration isn&#39;t impossible, but it carries a real cost in engineering time. And that cost grows every year you keep building on the platform.</p>
<p>With Keycloak, the standard is at the center of everything. If you ever want to switch, the protocol — OIDC, SAML — is yours and portable.</p>
<hr>
<h2>When Auth0 Makes Sense</h2>
<p>Let&#39;s be clear: there are scenarios where Auth0 is the right choice.</p>
<ul>
<li><strong>Early-stage startup</strong> that needs authentication in production this week, with no infrastructure team</li>
<li><strong>MVP or proof of concept</strong> where speed is everything and cost isn&#39;t the constraint</li>
<li><strong>B2C SaaS product</strong> with a small, stable user base</li>
<li><strong>Team without infrastructure operations experience</strong> and no budget for a specialized partner</li>
</ul>
<p>In these cases, Auth0&#39;s simplicity and speed outweigh the cost and dependency. There&#39;s no point running Keycloak if you don&#39;t have the conditions to run it well.</p>
<hr>
<h2>When Keycloak Wins</h2>
<ul>
<li><strong>Regulated sector</strong> — banking, healthcare, insurance, government — where data sovereignty is non-negotiable</li>
<li><strong>Complex architecture</strong> requiring custom authentication flows, identity federation, or legacy system integration</li>
<li><strong>Multi-tenant strategy</strong> with per-customer isolation requirements</li>
<li><strong>Technical teams</strong> with infrastructure operations capacity, or access to a specialized partner to handle it for them</li>
</ul>
<p>In these scenarios, the control Keycloak provides doesn&#39;t just justify the operational cost — it surpasses it.</p>
<hr>
<h2>The Decision</h2>
<p>If you&#39;re evaluating this now, the most useful question is not &quot;which one is better?&quot; but <strong>&quot;what will cost us more in three years: operating Keycloak or depending on Auth0?&quot;</strong></p>
<p>That answer depends on your user volume, your sector, your team, and your tolerance for dependency on an external vendor.</p>
<p>If you want to work through the numbers with your specific context, <a href="https://www.idptrust.com/en/consulting/">let&#39;s talk</a>.</p>
<hr>
<p><em>At IDPTrust we are Keycloak specialists. If you&#39;re in the middle of this decision, we can help you evaluate your options without bias.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Keycloak vs Auth0, Okta, Entra ID, Authentik, Ping Identity, and One Identity. An honest comparison.</title>
      <link>https://blog.idptrust.com/posts/keycloak-vs-auth0-okta-entra-id-authentik-ping-identity-one-identity/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/keycloak-vs-auth0-okta-entra-id-authentik-ping-identity-one-identity/</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>IAM</category>
      <description><![CDATA[We work with Keycloak every day. That doesn't mean it's the right choice for everyone — but it does mean we know exactly when it is.]]></description>
      <content:encoded><![CDATA[<p>We work with Keycloak every day. That doesn&#39;t mean it&#39;s the right choice for everyone — but it does mean we know exactly when it is.</p>
<hr>
<h2>Auth0 / Okta</h2>
<p>✅ Fastest time to production. Best developer experience and documentation in the market.<br>✅ Managed service — no infrastructure to operate or maintain.<br>❌ Pricing scales aggressively with MAUs. Painful at 50k+ users.<br>❌ Limited control over authentication flows and token structure.  </p>
<p><strong>Best fit:</strong> startups and SaaS products that need IAM fast and can absorb the cost.</p>
<p>→ <a href="https://www.idptrust.com/en/vs/auth0/">See the detailed Keycloak vs Auth0 comparison</a></p>
<hr>
<h2>Microsoft Entra ID</h2>
<p>✅ Seamless with the Microsoft stack — M365, Teams, Azure, Dynamics.<br>✅ Effectively free if you&#39;re already paying for M365 E3/E5.<br>❌ Outside the Microsoft ecosystem, integration complexity increases significantly.<br>❌ Licensing tied to Microsoft 365 plans — hard to decouple if your stack changes.  </p>
<p><strong>Best fit:</strong> organizations fully committed to Microsoft, with limited need for non-Microsoft app federation.</p>
<hr>
<h2>Authentik</h2>
<p>✅ Modern UI, easier to operate than Keycloak for straightforward use cases.<br>✅ Open source with active development and a growing community.<br>❌ Less mature for enterprise scenarios — limited SAML support, fewer extension points.<br>❌ Smaller ecosystem and less community knowledge available.  </p>
<p><strong>Best fit:</strong> smaller teams wanting self-hosted IAM without Keycloak&#39;s operational weight.</p>
<hr>
<h2>Ping Identity</h2>
<p>✅ Purpose-built for large enterprise hybrid environments — strongest on-prem + cloud mix on the market.<br>✅ DaVinci orchestration engine for no-code authentication flow design.<br>✅ Strong compliance tooling: GDPR, HIPAA, SOX, PCI DSS out of the box.<br>❌ Premium pricing — workforce plans from $3–6/user/month, CIAM from $35k/year.<br>❌ Complex deployments: 2–4 months basic, 6–12 months for large rollouts.<br>❌ OIDC custom attribute configuration has known friction points.  </p>
<p><strong>Best fit:</strong> large enterprises with hybrid environments and complex Active Directory infrastructures.</p>
<hr>
<h2>One Identity</h2>
<p>✅ Strong IGA — automated provisioning, access certification, role-based controls.<br>✅ Excellent Active Directory management via Active Roles — most praised product in their suite.<br>✅ Wide library of out-of-box connectors for SAP, Oracle, Exchange, and more.<br>❌ Suite of separate products rather than a unified platform — evaluation and licensing get complicated.<br>❌ UI is dated and has a reputation for being slow in large environments.<br>❌ Heavy implementation effort; backend development still depends on VB.NET in parts.  </p>
<p><strong>Best fit:</strong> large enterprises with complex IGA needs, significant AD footprint, and tolerance for implementation complexity.</p>
<hr>
<h2>Keycloak</h2>
<p>✅ Most complete open-source IAM platform — OIDC, SAML, LDAP, fine-grained authorization, custom SPIs.<br>✅ No per-user licensing. Your infrastructure, your data, your costs under control.<br>✅ Enterprise-proven at millions of users. CNCF incubation project.<br>❌ Operational overhead is real — upgrades, HA, and performance tuning require expertise.<br>❌ Native console has limits: bulk user management, persistent audit logs, and contextual access need extensions.  </p>
<p><strong>Best fit:</strong> mid-to-enterprise organizations that need full control, complex federation, or operate in regulated environments where data residency and licensing cost matter.</p>
<hr>
<h2>The honest summary</h2>
<table>
<thead>
<tr>
<th>Need</th>
<th>Best option</th>
</tr>
</thead>
<tbody><tr>
<td>IAM fast, cost not a constraint</td>
<td>Auth0 / Okta</td>
</tr>
<tr>
<td>All-in on Microsoft</td>
<td>Entra ID</td>
</tr>
<tr>
<td>Open source, simpler setup</td>
<td>Authentik</td>
</tr>
<tr>
<td>Large enterprise hybrid, big budgets</td>
<td>Ping Identity</td>
</tr>
<tr>
<td>Complex IGA and heavy AD management</td>
<td>One Identity</td>
</tr>
<tr>
<td>Full control, flexibility, long-term cost efficiency</td>
<td>Keycloak</td>
</tr>
</tbody></table>
<p>What drives your IAM platform decision?</p>
<hr>
<p><em>At IDPTrust we specialize in Keycloak in production. If you need help choosing the right IAM platform or deploying Keycloak at scale, <a href="https://idptrust.com/en/support/contact/">get in touch</a>.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Keycloak 26.6.0 — Five features graduate to supported</title>
      <link>https://blog.idptrust.com/posts/keycloak-26-6-0-five-features-supported/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/keycloak-26-6-0-five-features-supported/</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>News</category>
      <description><![CDATA[Keycloak 26.6.0 is a feature release. Five capabilities — JWT Authorization Grant, Federated Client Auth, Workflows, Zero-Downtime Patches, and a new Test Framework — graduate from preview to fully supported.]]></description>
      <content:encoded><![CDATA[<p>Keycloak 26.6.0 was released on April 8, 2026. Unlike the previous patch
release — which was almost entirely security fixes — this is a <strong>feature
release</strong>. Five capabilities that have been in preview for several versions
are now fully supported.</p>
<p>Here is what changed and why it matters for teams running Keycloak in
production.</p>
<hr>
<h2>Five features graduate from preview to supported</h2>
<h3>JWT Authorization Grant (RFC 7523)</h3>
<p><em>External-to-internal token exchange using signed JWT assertions.</em></p>
<p>A client can present an externally signed JWT assertion — issued by a
trusted external authority — and obtain an OAuth 2.0 access token from
Keycloak <strong>without a separate client secret</strong>. This is particularly
relevant for service-to-service authentication across trust domains, where
sharing secrets is impractical or where an external issuer (another IdP, a
Kubernetes cluster, a cloud provider) is the natural source of identity.</p>
<h3>Federated client authentication</h3>
<p><em>Clients authenticate using existing trust relationships — no more per-client secrets.</em></p>
<p>Clients can now authenticate to Keycloak using an existing trust
relationship with an external issuer, including <strong>OIDC identity providers</strong>
and <strong>Kubernetes Service Accounts</strong>. In environments where dozens of
microservices each hold their own client secret, this eliminates both the
management overhead and the rotation risk.</p>
<blockquote>
<p>Note: OAuth SPIFFE Client Authentication remains in preview as the spec
is still in draft.</p>
</blockquote>
<h3>Workflows</h3>
<p><em>IGA capabilities — natively in Keycloak, defined in YAML.</em></p>
<p>Workflows allow administrators to automate realm administrative tasks using
YAML-defined pipelines triggered by events, conditions, or schedules.
Supported operations include <strong>user and client lifecycle management</strong> —
provisioning, deprovisioning, and state transitions.</p>
<p>This is the most significant feature of this release for <strong>regulated
environments</strong>. It brings Identity Governance and Administration (IGA)
capabilities natively into Keycloak, reducing the need for external tooling
to automate identity processes such as joiner/mover/leaver flows.</p>
<h3>Zero-downtime patch releases</h3>
<p><em>Rolling upgrades within the same major.minor stream — enabled by default.</em></p>
<p>Rolling updates within the same <code>major.minor</code> stream are now supported
without service interruption. <strong>This is enabled by default.</strong> On Kubernetes
with the Keycloak Operator, set the update strategy to <code>Auto</code> to benefit
automatically.</p>
<blockquote>
<p>Important: this applies to patch version upgrades only (e.g. 26.5.5 →
26.5.7). Minor version upgrades (26.5 → 26.6) still require a planned
maintenance window.</p>
</blockquote>
<h3>Keycloak Test Framework</h3>
<p><em>JUnit 6 — replaces Arquillian + JUnit 4.</em></p>
<p>The new framework handles the lifecycle of Keycloak, the database, and
injected resources transparently. Relevant for teams building <strong>custom SPIs
or extensions</strong>.</p>
<hr>
<h2>Other changes worth noting</h2>
<ul>
<li><strong>Java 25 support</strong> — Keycloak now runs on OpenJDK 25. The container
image continues to use OpenJDK 21 for FIPS compatibility.</li>
<li><strong><code>KCRAW_</code> env var prefix</strong> — Values containing <code>$</code> characters injected
via Kubernetes secrets were silently mangled by SmallRye expression
evaluation. <code>KCRAW_</code> preserves the value exactly as provided.</li>
<li><strong>LDAP forced password change</strong> — Keycloak now respects the LDAP
server&#39;s &quot;must change password&quot; control. Previously users were let
through without being prompted.</li>
<li><strong>Graceful HTTP shutdown</strong> — Connection draining during shutdown before
terminating, reducing error responses during rolling restarts.</li>
<li><strong>MCP authorization server (experimental)</strong> — Keycloak can now act as
authorization server for Model Context Protocol version 2025-11-25+.</li>
<li><strong>Token Exchange V1 deprecated</strong> — Plan your migration to V2.</li>
</ul>
<hr>
<h2>Should you upgrade?</h2>
<p><strong>Yes, and there is no urgency</strong> — this is not a security release. Plan the
upgrade within your normal maintenance window.</p>
<p>If you are running Keycloak on Kubernetes with the Operator, zero-downtime
patch updates are now enabled by default, which simplifies future upgrades
within the 26.x stream.</p>
<p>Full release notes:
<a href="https://www.keycloak.org/2026/04/keycloak-2660-released">keycloak.org/2026/04/keycloak-2660-released</a></p>
<hr>
<p><em>At IDPTrust we specialize in Keycloak in production. If you need help
assessing this release or planning an upgrade,
<a href="https://idptrust.com/en/support/contact/">get in touch</a>.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Keycloak 26.5.7 — 7 CVEs patched, two of them critical</title>
      <link>https://blog.idptrust.com/posts/keycloak-26-5-7-cve-security-release/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/keycloak-26-5-7-cve-security-release/</guid>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <description><![CDATA[Keycloak 26.5.7 is almost entirely a security release — 7 CVEs addressed in a single drop, two of them critical. If you run Keycloak in production, this update is not optional.]]></description>
      <content:encoded><![CDATA[<p>Keycloak 26.5.7 was released on April 2, 2026. This is almost entirely a security release — 7 CVEs addressed in a single drop. If you run Keycloak in production, this update is not optional.</p>
<p>Here is a breakdown of what was fixed and how severe each issue is.</p>
<hr>
<h2>Critical — patch immediately</h2>
<h3>CVE-2026-4282 · CVSS 7.4 (High) — Privilege escalation via forged authorization codes</h3>
<p>The <code>SingleUseObjectProvider</code> component, a global key-value store used internally by Keycloak, lacks proper type and namespace isolation. An unauthenticated attacker can exploit this flaw to forge authorization codes and use them to obtain admin-capable access tokens — without credentials and without user interaction.</p>
<p>This is the most dangerous vulnerability in this release. No authentication required, no user interaction required, and successful exploitation gives an attacker full administrative control over your Keycloak instance.</p>
<p><strong>What to check:</strong> Review any external network exposure of your Keycloak endpoints. Ensure your instance is updated before anything else.</p>
<hr>
<h3>CVE-2026-3872 · CVSS 7.3 (High) — Redirect URI validation bypass via path traversal</h3>
<p>A flaw in how Keycloak validates redirect URIs with wildcard patterns allows an attacker who controls any other path on the same web server to bypass the allowed-path restriction using a <code>..;/</code> sequence in the OIDC authorization endpoint. A successful exploit leads to access token theft.</p>
<p><strong>What to check:</strong> If your Keycloak instance shares a hostname with other applications, this is especially relevant. Review your redirect URI configurations and ensure wildcard patterns are as restrictive as possible.</p>
<hr>
<h2>High — review your setup</h2>
<h3>CVE-2026-4636 — UMA policy injection allows cross-user permission grants</h3>
<p>An authenticated user can inject a resource reference into a UMA policy in a way that grants them unauthorized access to resources owned by other users. Affects deployments using UMA 2.0 for resource sharing.</p>
<h3>CVE-2026-3429 — Improper LoA control during credential deletion (Account API)</h3>
<p>The Account REST API does not properly enforce the required Level of Assurance when a user deletes a credential. This can be exploited to remove MFA factors and take over an account without meeting the authentication requirements the policy requires.</p>
<h3>CVE-2026-4634 — Application-level DoS via scope processing</h3>
<p>Keycloak does not adequately limit the processing of OpenID Connect scope parameters. An unauthenticated attacker can send crafted requests that cause excessive processing, degrading the availability of the instance without requiring any credentials.</p>
<hr>
<h2>Moderate</h2>
<h3>CVE-2025-14083 — Information disclosure via Admin REST API</h3>
<p>A user holding only the <code>create-client</code> permission — considered low-privilege by design — can access the <code>/admin/realms/master/users/profile</code> endpoint and read internal user profile schema data, including attribute names, validation rules, and permission mappings.</p>
<h3>CVE-2026-1002 — Vert.x static file cache manipulation</h3>
<p>The static file handler in the underlying Vert.x framework can have its cache manipulated in a way that denies legitimate access to static resources. Upgraded in this release via the Quarkus 3.27.3 dependency update.</p>
<hr>
<h2>Additional changes</h2>
<ul>
<li>Quarkus upgraded to 3.27.3.</li>
<li>One bug fix: calls without a <code>Host</code> header no longer throw an uncaught error.</li>
</ul>
<hr>
<h2>Should you update?</h2>
<p>Yes, and soon. Two of these CVEs require no authentication to exploit. The attack surface is any Keycloak instance reachable over the network.</p>
<p>If you are running a version older than 26.5.7 — or worse, still on a WildFly-based distribution — this release is a good reminder that staying current is not just good practice, it is a security requirement.</p>
<p>Full release notes: <a href="https://www.keycloak.org/2026/04/keycloak-2657-released">keycloak.org/2026/04/keycloak-2657-released</a></p>
<hr>
<p><em>At IDPTrust we specialize in Keycloak in production. If you need help assessing the impact of this release on your setup or planning an upgrade, <a href="https://idptrust.com/en/support/contact/">get in touch</a>.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Keycloak Advisory: Privilege Escalation in Admin Console (FGAPv2)</title>
      <link>https://blog.idptrust.com/posts/privilege-escalation-admin-console-fgapv2/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/privilege-escalation-admin-console-fgapv2/</guid>
      <pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate>
      <category>Security</category>
      <description><![CDATA[Keycloak 26.2.x with FGAPv2 enabled is affected by a privilege escalation allowing manage-users admins to self-assign realm-admin.]]></description>
      <content:encoded><![CDATA[<p><strong>Summary</strong><br>Keycloak published a new security advisory: <strong>Privilege Escalation in Keycloak Admin Console (FGAPv2 Enabled)</strong>.<br>Official source: <a href="https://github.com/keycloak/keycloak/security/advisories/GHSA-27gp-8389-hm4w">GHSA-27gp-8389-hm4w</a>.</p>
<p><strong>Severity:</strong> Moderate<br><strong>Affected package:</strong> <code>org.keycloak:keycloak-services</code> (Maven)<br><strong>Affected versions:</strong> <code>&gt; 26.2.0, &lt; 26.2.6</code> (only when <strong>FGAPv2</strong> is enabled)<br><strong>Patched versions:</strong> <code>26.2.6</code> and <code>26.3.0</code></p>
<hr>
<h2>What’s the issue?</h2>
<p>A flaw in the <strong>admin permission enforcement</strong> allows a user with <strong><code>manage-users</code></strong> privileges to <strong>self-assign <code>realm-admin</code></strong> when <strong>FGAPv2</strong> is enabled in <strong>Keycloak 26.2.x</strong>.<br>Root cause: missing privilege boundary checks during role mapping via the <strong>Admin REST API</strong>.<br>Impact: a malicious limited admin could escalate to <strong>full realm administration</strong>, including realm configuration and user data access.</p>
<h2>Who is affected?</h2>
<ul>
<li>Deployments on <strong>Keycloak 26.2.x</strong> with <strong>FGAPv2 enabled</strong>.</li>
<li>Environments on <strong>26.2.6+</strong> or <strong>26.3.0</strong> are <strong>not</strong> affected.</li>
</ul>
<h2>Our status (IDPTrust)</h2>
<ul>
<li><strong>All managed customers have been notified.</strong></li>
<li><strong>Patch windows are scheduled across all environments</strong> (dev, staging, production) to move to <strong>26.2.6</strong> or <strong>26.3.0</strong> depending on compatibility.</li>
<li>We are verifying <strong>FGAPv2 usage</strong> per realm and tightening admin role boundaries.</li>
</ul>
<h2>Recommended actions</h2>
<ol>
<li><strong>Upgrade</strong> to <strong>26.2.6</strong> or <strong>26.3.0</strong> as soon as feasible.  </li>
<li>If you cannot upgrade immediately:<ul>
<li>Disable <strong>FGAPv2</strong> temporarily if your deployment allows it.</li>
<li>Review admin user assignments; ensure no user with limited rights can edit their own role mappings.</li>
<li>Restrict access to the <strong>Admin REST API</strong> and audit its usage.</li>
</ul>
</li>
<li><strong>Audit</strong> recent admin role changes for suspicious self-assignments.</li>
</ol>
<h2>How to check your deployment</h2>
<ul>
<li>Confirm your Keycloak version: <strong>Admin Console → Server Info</strong> or image tag.  </li>
<li>Check whether <strong>FGAPv2</strong> is enabled in your realm/installation notes.  </li>
<li>Review <strong>Admin Events</strong> for role-mapping changes on admin users.</li>
</ul>
<h2>Timeline</h2>
<ul>
<li>Advisory published: <strong>Jul 29, 2025</strong> (by rmartinc).  </li>
<li>IDPTrust notification &amp; patch scheduling: <strong>2025-07-29</strong>.</li>
</ul>
<p>For questions or help planning the update, contact your IDPTrust support channel.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Keycloak Security Advisory: Phishing via Email Verification in First Login Flow</title>
      <link>https://blog.idptrust.com/posts/keycloak-phishing-first-login-email-verification/</link>
      <guid isPermaLink="true">https://blog.idptrust.com/posts/keycloak-phishing-first-login-email-verification/</guid>
      <pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate>
      <category>Security</category>
      <description><![CDATA[Keycloak security advisory: phishing attack via email verification in first login flow. Affects all versions before 26.2.6, 26.1.5 and 26.0.10.]]></description>
      <content:encoded><![CDATA[<p><strong>Summary</strong><br>Keycloak has published a new security advisory: <strong>Phishing attack via email verification step in first login flow</strong>.<br>Official source: <a href="https://github.com/keycloak/keycloak/security/advisories/GHSA-xhpr-465j-7p9q">GHSA-xhpr-465j-7p9q</a>.</p>
<p><strong>Severity:</strong> Moderate<br><strong>Affected package:</strong> <code>org.keycloak:keycloak-services</code> (Maven)<br><strong>Affected versions:</strong> <code>&lt;26.0.13, &lt;26.2.6</code><br><strong>Patched versions:</strong> <code>26.2.13</code>, <code>26.2.6</code>, <code>26.3.0</code></p>
<hr>
<h2>What’s the issue?</h2>
<p>There is a flaw in the <strong>first login flow</strong> during an <strong>IdP login</strong>. An attacker who already has a registered account can initiate account linking with a victim’s existing account. During the subsequent <strong>“review profile”</strong> step, the attacker can change their email address to the <strong>victim’s email</strong>, triggering a <strong>verification email sent to the victim</strong>. If the victim clicks the verification link, the attacker may gain access to the victim’s account.</p>
<p>While this is <strong>not a zero‑interaction attack</strong> (the victim must click the verification link), the attacker’s email is <strong>not surfaced in the verification email</strong>, making this scenario a <strong>phishing opportunity</strong>.</p>
<h2>Impact</h2>
<ul>
<li>Potential <strong>account takeover</strong> if the victim clicks the verification link sent during the attacker‑initiated flow.</li>
<li>Affects deployments running vulnerable versions listed above.</li>
</ul>
<h2>Our status (IDPTrust)</h2>
<ul>
<li><strong>All managed customers have been notified.</strong></li>
<li><strong>Patch windows are scheduled across all environments</strong> (development, staging, production) to move to the <strong>patched versions</strong> listed by the advisory.</li>
<li>We are auditing <strong>account linking</strong> and <strong>email verification</strong> flows and strengthening monitoring around <strong>Admin Events</strong> and <strong>login flows</strong>.</li>
</ul>
<h2>Recommended actions</h2>
<ol>
<li><strong>Upgrade</strong> to a <strong>patched version</strong> as soon as possible (<code>26.2.13</code>, <code>26.2.6</code>, or <code>26.3.0</code>, per the advisory).  </li>
<li>Until you upgrade:<ul>
<li>Consider <strong>disabling or restricting account linking</strong> where feasible.  </li>
<li>Educate users to be cautious with unexpected <strong>email verification requests</strong>.  </li>
<li>Review IdP first‑login configuration and ensure additional safeguards (e.g., manual review) where appropriate.</li>
</ul>
</li>
<li><strong>Audit</strong> recent login/account‑linking events for suspicious activity.</li>
</ol>
<h2>How to check your deployment</h2>
<ul>
<li>Confirm your Keycloak version (Admin Console → <strong>Server Info</strong>, or your image tag).  </li>
<li>Review your <strong>First Login Flow</strong> steps for IdP logins, especially <strong>“review profile”</strong> and email verification behavior.  </li>
<li>Inspect logs and <strong>Admin Events</strong> around account linking attempts.</li>
</ul>
<h2>Timeline</h2>
<ul>
<li>Advisory published: <strong>Jul 29, 2025</strong> (by rmartinc).  </li>
<li>IDPTrust notification &amp; patch scheduling: <strong>2025-07-29</strong>.</li>
</ul>
<h2>References</h2>
<ul>
<li>Official advisory: <strong>GHSA-xhpr-465j-7p9q</strong> – Phishing attack via email verification step in first login flow<br><a href="https://github.com/keycloak/keycloak/security/advisories/GHSA-xhpr-465j-7p9q">https://github.com/keycloak/keycloak/security/advisories/GHSA-xhpr-465j-7p9q</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>