<?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>CVE-2026-43978 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-43978/</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>Thu, 14 May 2026 16:26:14 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-43978/feed.xml" rel="self" type="application/rss+xml"/><item><title>wger Trainer Login Privilege Escalation Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-wger-privesc/</link><pubDate>Thu, 14 May 2026 16:26:14 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-wger-privesc/</guid><description>A gym trainer in wger (&lt;= 2.5) can escalate privileges to a gym manager by chaining calls to the trainer-login endpoint due to a flawed permission check, as tracked by CVE-2026-43978.</description><content:encoded><![CDATA[<p>A privilege escalation vulnerability exists in wger versions 2.5 and earlier, identified as CVE-2026-43978. This flaw allows a gym trainer to escalate their session to a gym manager or general manager account by chaining two calls to the <code>trainer-login</code> endpoint. The vulnerability stems from an insufficient permission check in <code>wger/core/views/user.py</code>, where the <code>trainer.identity</code> session flag bypasses permission checks on subsequent calls to the trainer-login endpoint. This allows the trainer to escalate privileges without proper authorization. The issue was reported on May 14, 2026 and impacts instances of wger version 2.5 and prior.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker logs in to the wger application as a gym trainer with limited privileges.</li>
<li>The trainer initiates a legitimate switch to a lower-privileged user account using the <code>/en/user/&lt;user_id&gt;/trainer-login</code> endpoint.</li>
<li>Upon successful switch, the application sets the <code>trainer.identity</code> flag in the user&rsquo;s session, identifying the original trainer.</li>
<li>The attacker, now operating under the context of the lower-privileged user, makes another call to <code>/en/user/&lt;manager_id&gt;/trainer-login</code>, this time targeting a gym manager account.</li>
<li>Due to the presence of the <code>trainer.identity</code> flag, the permission check at <code>wger/core/views/user.py:169</code> is bypassed, allowing the trainer-login to proceed without validating if the current user has <code>gym_trainer</code> permissions.</li>
<li>Because the user is no longer a trainer, the check on line 173 in <code>wger/core/views/user.py</code> is not reached, which would normally block escalation to <code>manage_gym</code> or <code>manage_gyms</code> permissions.</li>
<li>The attacker&rsquo;s session is now elevated to that of the gym manager, granting them full administrative privileges.</li>
<li>The attacker can now access sensitive data, modify gym settings, and perform other actions as a gym manager.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-43978) allows a malicious gym trainer to gain unauthorized access to sensitive information and administrative functions within the wger application. This includes the ability to view member data, modify contracts, manage gym configurations, and access other trainers&rsquo; and managers&rsquo; personal information. The attacker can effectively take over the gym manager&rsquo;s account, potentially impacting all gym operations and member data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch provided in the advisory to <code>wger/core/views/user.py</code> to fix the permission check logic (see the &ldquo;How to fix&rdquo; section in the advisory).</li>
<li>Upgrade wger to a version greater than 2.5 to remediate CVE-2026-43978.</li>
<li>Deploy the Sigma rule &ldquo;Detect wger Trainer Login Privilege Escalation Attempt&rdquo; to your SIEM to detect exploitation attempts.</li>
<li>Monitor web server logs for unusual activity related to the <code>/en/user/&lt;user_id&gt;/trainer-login</code> endpoint, which may indicate attempts to exploit this vulnerability.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>privilege-escalation</category><category>web-application</category><category>CVE-2026-43978</category></item></channel></rss>