<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 10 Oct 2026 02:29:51 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-384227</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-384227</link>
      <description>EUVD-2026-384227</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-384227</guid>
    </item>
    <item>
      <title>fkie_cve-2026-45161</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-45161</link>
      <description>&lt;p&gt;wger is a free, open-source workout and fitness manager. Prior to version 2.6, the `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django&amp;#39;s `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `&amp;lt;img&amp;gt;` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer&amp;#39;s session to an arbitrary user account. Version 2.6 fixes the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;wger is a free, open-source workout and fitness manager. Prior to version 2.6, the `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django&amp;#39;s `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `&amp;lt;img&amp;gt;` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer&amp;#39;s session to an arbitrary user account. Version 2.6 fixes the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-45161</guid>
    </item>
    <item>
      <title>GHSA-xf64-4pmc-h8qf — wger: trainer_login accepts GET - CSRF bypass enables forced session rebinding</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-xf64-4pmc-h8qf</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: wger&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django&amp;#39;s `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `&amp;lt;img&amp;gt;` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer&amp;#39;s session to an arbitrary user account.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**File**: `wger/core/views/user.py`, approximately lines 161-210&lt;/p&gt;
&lt;p&gt;```python
# VULNERABLE - no @require_POST, no request.method == &amp;#39;POST&amp;#39; guard
# CsrfViewMiddleware is bypassed because CSRF enforcement only applies to
# unsafe HTTP methods (POST, PUT, PATCH, DELETE)
def trainer_login(request, user_pk):
    ...
    django_login(request, user, backend=&amp;#39;django.contrib.auth.backends.ModelBackend&amp;#39;)
    return HttpResponseRedirect(...)
```&lt;/p&gt;
&lt;p&gt;Because the view handles GET, Django&amp;#39;s CSRF middleware does not validate any token. An attacker can place `&amp;lt;img src=&amp;#34;https://wger.target/en/user/2/trainer-login&amp;#34;&amp;gt;` on any web page. When an authenticated trainer&amp;#39;s browser loads that page, it issues the GET request with the session cookie attached (SameSite=Lax does not block same-site top-level navigation and subresource hops triggered by same-origin redirects). The server executes `django_login()` and issues a new session cookie binding the trainer to the victim user.&lt;/p&gt;
&lt;p&gt;Playwright-verified in Chromium 147: the SameSite byp…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: wger&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django&amp;#39;s `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `&amp;lt;img&amp;gt;` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer&amp;#39;s session to an arbitrary user account.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**File**: `wger/core/views/user.py`, approximately lines 161-210&lt;/p&gt;
&lt;p&gt;```python
# VULNERABLE - no @require_POST, no request.method == &amp;#39;POST&amp;#39; guard
# CsrfViewMiddleware is bypassed because CSRF enforcement only applies to
# unsafe HTTP methods (POST, PUT, PATCH, DELETE)
def trainer_login(request, user_pk):
    ...
    django_login(request, user, backend=&amp;#39;django.contrib.auth.backends.ModelBackend&amp;#39;)
    return HttpResponseRedirect(...)
```&lt;/p&gt;
&lt;p&gt;Because the view handles GET, Django&amp;#39;s CSRF middleware does not validate any token. An attacker can place `&amp;lt;img src=&amp;#34;https://wger.target/en/user/2/trainer-login&amp;#34;&amp;gt;` on any web page. When an authenticated trainer&amp;#39;s browser loads that page, it issues the GET request with the session cookie attached (SameSite=Lax does not block same-site top-level navigation and subresource hops triggered by same-origin redirects). The server executes `django_login()` and issues a new session cookie binding the trainer to the victim user.&lt;/p&gt;
&lt;p&gt;Playwright-verified in Chromium 147: the SameSite byp…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-xf64-4pmc-h8qf</guid>
    </item>
  </channel>
</rss>
