<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-05T16:38:32.695801+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-46715</id>
    <title>CVE-2026-46715 — Flask-Security-Too OAuth reauthentication freshness bypass via cross- user OAuth identity acceptance</title>
    <updated>2026-10-05T16:38:32.700438+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> pallets-eco Flask-Security-Too</p>
<p>Flask-Security-Too allows users to add security features to their Flask applicationa. Version 5.8.0's OAuth reauthentication flow can mark a session as fresh after verifying an OAuth account that belongs to a different user. If an attacker can operate an already-authenticated but stale victim session, they can complete OAuth verification using their own OAuth identity. The victim session is then treated as recently reauthenticated, allowing freshness-protected account actions to proceed. Version 5.8.1 contains a fix for this issue.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-46715"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-97r5-pg8x-p63p</id>
    <title>GHSA-97r5-pg8x-p63p — Flask-Security-Too OAuth reauthentication freshness bypass via cross-   user OAuth identity acceptance</title>
    <updated>2026-10-05T16:38:32.700586+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: Flask-Security-Too</p>
<p>### Summary</p>
<p>Flask-Security-Too 5.8.0's OAuth reauthentication flow can mark a
  session as fresh after verifying an OAuth account that belongs to a
  different user.</p>
<p>If an attacker can operate an already-authenticated but stale victim
  session, they can complete OAuth verification using their own OAuth
  identity. The victim session is then treated as recently
  reauthenticated, allowing freshness-protected account actions to
  proceed. This was reproduced against the built-in `/change-username`
  route.</p>
<p>### Details</p>
<p>The issue is in the OAuth verification callback.</p>
<p>`_oauth_response_common()` resolves the OAuth provider identity to a
  Flask-Security user:</p>
<p>- `flask_security/oauth_glue.py:101-108`</p>
<p>`oauth_verify_response()` then accepts any resolved user and updates
  the current session freshness timestamp:</p>
<p>- `flask_security/oauth_glue.py:182-214`
  - `flask_security/oauth_glue.py:201-204`</p>
<p>The missing check is that the OAuth-resolved user must match the
  current authenticated session user. In the failing case:</p>
<p>- current session user: `victim@example.com`
  - OAuth verified user: `attacker@example.com`
  - session marked fresh: yes</p>
<p>So the attacker is not logging in as the victim, but they are
  satisfying the victim session's reauthentication requirement with a
  different account.</p>
<p>### PoC</p>
<p>Tested version:</p>
<p>- `Flask-Security-Too 5.8.0`
  - tag `5.8.0`
  - commit `08288dff6907e413d848a16aaf43fc2c2b2a3b72`</p>
<p>Used a minimal Flask app with:…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-97r5-pg8x-p63p"/>
  </entry>
</feed>
