<?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>Admidio — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/admidio/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 29 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/admidio/feed.xml" rel="self" type="application/rss+xml"/><item><title>Admidio SAML Assertion Consumer Service (ACS) URL Validation Bypass</title><link>https://feed.craftedsignal.io/briefs/2024-01-29-admidio-saml-acs-bypass/</link><pubDate>Mon, 29 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-29-admidio-saml-acs-bypass/</guid><description>Admidio's SAML IdP implementation in its SSO module is vulnerable to sending SAML responses to unvalidated Assertion Consumer Service URLs, allowing an attacker to craft a SAML AuthnRequest with an arbitrary AssertionConsumerServiceURL, causing the IdP to send the signed SAML response, containing user identity attributes, to an attacker-controlled URL, enabling impersonation of the victim user on the legitimate SP by replaying the SAML assertion.</description><content:encoded><![CDATA[<p>A vulnerability exists in Admidio&rsquo;s SAML IdP implementation within the SSO module (versions 5.0.8 and earlier) that allows for bypassing Assertion Consumer Service (ACS) URL validation. The IdP uses the <code>AssertionConsumerServiceURL</code> value directly from incoming SAML AuthnRequest messages as the destination for the SAML response without verifying it against the registered <code>smc_acs_url</code> for the corresponding service provider client. An attacker can exploit this by crafting a SAML AuthnRequest with the Entity ID of a registered SP client and an attacker-controlled <code>AssertionConsumerServiceURL</code>. This causes the IdP to send the signed SAML response, containing sensitive user identity attributes (login name, email, roles, profile fields), to a URL controlled by the attacker. The default configuration does not require signed AuthnRequests, simplifying exploitation to only needing the SP&rsquo;s Entity ID.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies the Entity ID of a registered SAML service provider (SP) client within the Admidio IdP. This is often publicly available from the SP&rsquo;s metadata endpoint.</li>
<li>The attacker crafts a malicious SAML AuthnRequest. The AuthnRequest includes the legitimate SP Entity ID as the Issuer, but sets the <code>AssertionConsumerServiceURL</code> to a URL controlled by the attacker (e.g., <code>https://attacker.test/steal-saml</code>).</li>
<li>The attacker sends the crafted SAML AuthnRequest to Admidio&rsquo;s SSO endpoint (<code>/modules/sso/index.php/saml/sso</code>) using the HTTP-POST binding, typically by tricking a logged-in user into accessing a webpage containing an auto-submitting form.</li>
<li>Admidio&rsquo;s SSO module receives the AuthnRequest. If signature validation is not enforced for the SP, the request proceeds without signature verification.</li>
<li>If the user is already authenticated with the Admidio IdP, the IdP generates a signed SAML response containing the user&rsquo;s identity and attributes. The destination of the SAML response is set to the attacker-controlled <code>AssertionConsumerServiceURL</code> taken directly from the AuthnRequest.</li>
<li>Admidio renders an auto-submitting HTML form in the victim&rsquo;s browser, which POSTs the signed SAML response to the attacker&rsquo;s URL (<code>https://attacker.test/steal-saml</code>).</li>
<li>The attacker&rsquo;s server receives the SAML response, extracting the user&rsquo;s login name, email, full name, roles, and any other profile fields included in the assertion.</li>
<li>The attacker replays the stolen SAML assertion to the legitimate SP to authenticate as the victim, gaining unauthorized access to the SP application and its resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to steal user identities and impersonate victims on legitimate service provider applications. This leads to unauthorized access to user accounts and potential access to sensitive data and resources within those applications. The scope change enables impersonation across separate service provider applications. The vulnerability is exploitable without requiring knowledge of cryptographic keys if <code>smc_require_auth_signed</code> is not enabled, making it easier to exploit. All versions of Admidio up to and including 5.0.8 are affected.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the vendor-supplied patch described in GHSA-p9w9-87c8-m235 by upgrading to a version of Admidio greater than 5.0.8.</li>
<li>As a temporary mitigation, enable <code>smc_require_auth_signed</code> and <code>smc_validate_signatures</code> for all SAML clients to enforce signature validation, mitigating attacks from unauthenticated sources.</li>
<li>Monitor web server logs for POST requests to the Admidio SSO endpoint (<code>/modules/sso/index.php/saml/sso</code>) with suspicious <code>SAMLRequest</code> parameters containing attacker-controlled <code>AssertionConsumerServiceURL</code> values, which can be detected using the &ldquo;Admidio SAML AuthnRequest ACS URL Override&rdquo; Sigma rule.</li>
<li>Monitor network traffic for connections to attacker-controlled URLs, such as <code>https://attacker.test/steal-saml</code>, which may indicate successful exploitation and the exfiltration of SAML responses as listed in the IOC table.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>saml</category><category>sso</category><category>acs-bypass</category><category>admidio</category><category>cve-2026-41670</category></item><item><title>Admidio Inverted 2FA Reset Allows Privilege Escalation</title><link>https://feed.craftedsignal.io/briefs/2024-01-admidio-2fa-bypass/</link><pubDate>Mon, 22 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-admidio-2fa-bypass/</guid><description>A logic error in Admidio's two-factor authentication reset inverts the authorization check, allowing non-admin users to remove other users' TOTP, including administrators, reducing their security to password-only authentication in versions 5.0.8 and earlier.</description><content:encoded><![CDATA[<p>Admidio, a web-based content management system for organizations, contains a critical vulnerability in its two-factor authentication (2FA) reset mechanism. The vulnerability, present in versions 5.0.8 and earlier, stems from an inverted authorization check within the <code>modules/profile/two_factor_authentication.php</code> script. This flaw enables non-administrative users, specifically group leaders with profile edit rights, to disable 2FA for other users, including administrator accounts. The vulnerability was reported on April 29, 2026. By exploiting this flaw, attackers can bypass 2FA, gaining unauthorized access to privileged accounts and potentially compromising the entire Admidio installation. This highlights the importance of rigorous security audits and proper authorization checks in web applications.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker compromises or gains access to a non-admin user account within Admidio that possesses <code>hasRightEditProfile()</code> permission over an administrator account.</li>
<li>The attacker crafts a POST request to <code>/adm_program/modules/profile/two_factor_authentication.php</code> with the <code>mode</code> parameter set to <code>reset</code> and the <code>user_uuid</code> parameter set to the UUID of the target administrator account.</li>
<li>The server-side script <code>modules/profile/two_factor_authentication.php</code> executes the flawed authorization check at line 84. Due to the inverted logic (<code>!==</code> instead of <code>===</code>), the check incorrectly grants permission to the non-admin user to reset the administrator&rsquo;s 2FA.</li>
<li>The server removes the TOTP configuration associated with the administrator&rsquo;s account from the database or configuration files.</li>
<li>The attacker can now attempt to log in to the administrator account using only the password, bypassing the 2FA requirement.</li>
<li>If the attacker knows or can guess the administrator&rsquo;s password (via credential stuffing, brute force, or other means), they successfully gain access to the account.</li>
<li>With administrator privileges, the attacker can perform a variety of malicious actions, such as creating new accounts, modifying website content, or accessing sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows attackers to bypass two-factor authentication on administrator accounts in Admidio installations. This can lead to unauthorized access to sensitive data, modification of website content, and potentially full control over the affected system. While the number of affected installations is unknown, organizations using vulnerable versions of Admidio are at risk. Success of the attack results in complete compromise of the Admidio instance and the data it manages.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the recommended fix by changing <code>!==</code> to <code>===</code> on line 84 of <code>modules/profile/two_factor_authentication.php</code> to correct the authorization logic (see Overview).</li>
<li>Deploy the Sigma rule <code>Detect Admidio 2FA Reset Request</code> to detect attempts to exploit this vulnerability by monitoring HTTP POST requests to the vulnerable endpoint (see Rules).</li>
<li>Upgrade Admidio to a patched version that incorporates the fix for CVE-2026-41660.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>2fa</category><category>bypass</category><category>privilege-escalation</category><category>admidio</category></item></channel></rss>