Every CVE Search/ Get API key

CVE-2026-34531

Flask-HTTPAuth invokes token verification callback when missing or empty token was given by client

6.5 MediumFix available

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
High
Availability
None

Exploit likelihood

0.34%Up 0.3 points since Apr 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.5

Flask-HTTPAuth invokes token verification callback when missing or empty token was given by client

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
CVE-2026-34531
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
EUVDEUVD-2026-18056 6.5

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
EUVD-2026-18056
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-p44q-vqpr-4xmg 6.5

Flask-HTTPAuth invokes token verification callback when missing or empty token was given by client

Summary

In a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users.

Notes

  • This issue applies only to token authentication
  • This issue applies only when the application verifies tokens by searching for them in a user database.
  • This issue applies only if the application stores empty strings as user tokens when the user does not have an assigned token. It does not apply if the application sets those tokens to NULL instead.
  • Tokens that are verified through cryptographic means (such as JWTs) are not affected by this issue.
  • Basic and Digest authentication are not affected by this issue.

Remediation

To protect against this issue, developers should make sure that no user in the user database has their token set to an empty string. If there are such users, change the value of those tokens to NULL instead.

Alternatively, developers can upgrade their projects to Flask-HTTPAuth>=4.8.1, which fixes this issue.

Record
GHSA-p44q-vqpr-4xmg
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
NVD 6.5

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
CVE-2026-34531
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
OSV 6.5

Flask-HTTPAuth invokes token verification callback when missing or empty token was given by client

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
CVE-2026-34531
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
OSVDEBIAN-CVE-2026-34531 8.2

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
DEBIAN-CVE-2026-34531
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Updated
2026-11-02
Show 5 moreShow less
OSVGHSA-p44q-vqpr-4xmg 6.5

Flask-HTTPAuth invokes token verification callback when missing or empty token was given by client

Summary

In a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users.

Notes

  • This issue applies only to token authentication
  • This issue applies only when the application verifies tokens by searching for them in a user database.
  • This issue applies only if the application stores empty strings as user tokens when the user does not have an assigned token. It does not apply if the application sets those tokens to NULL instead.
  • Tokens that are verified through cryptographic means (such as JWTs) are not affected by this issue.
  • Basic and Digest authentication are not affected by this issue.

Remediation

To protect against this issue, developers should make sure that no user in the user database has their token set to an empty string. If there are such users, change the value of those tokens to NULL instead.

Alternatively, developers can upgrade their projects to Flask-HTTPAuth>=4.8.1, which fixes this issue.

Record
GHSA-p44q-vqpr-4xmg
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
OSVPYSEC-2026-2152 8.2

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
PYSEC-2026-2152
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-34531 6.5

Flask-HTTPAuth provides Basic, Digest and Token HTTP authentication for Flask routes. Prior to version 4.8.1, in a situation where the client makes a request to a token protected resource without passing a token, or passing an empty token, Flask-HTTPAuth would invoke the application's token verification callback function with the token argument set to an empty string. If the application had any users in its database with an empty string set as their token, then it could potentially authenticate the client request against any of those users. This issue has been patched in version 4.8.1.

Record
UBUNTU-CVE-2026-34531
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2026:10518-1 No score

python311-Flask-HTTPAuth-4.8.1-1.1 on GA media

These are all security issues fixed in the python311-Flask-HTTPAuth-4.8.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10518-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20576-1 No score

Security update for python-Flask-HTTPAuth

This update for python-Flask-HTTPAuth fixes the following issues:

Changes in python-Flask-HTTPAuth:

  • CVE-2026-34531: Do not accept empty tokens (bsc#1261355)
Record
openSUSE-SU-2026:20576-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
flask-httpauth
PyPI
through 4.8.0
4.8.1
python-flask-httpauth
Debian:12
All versions, plus listed versions
4.5.0-44.8.0-14.8.1-1.1
None known
python-flask-httpauth
Debian:13
All versions, plus listed versions
4.8.0-14.8.1-1.1
None known
python-flask-httpauth
Debian:14
before 4.8.1-1.1, plus listed versions
4.8.0-1
4.8.1-1.1
flask-httpauth
PyPI
before 4.8.1, plus listed versions
1.0.01.1.02.0.02.1.02.2.0
Show 29 moreShow less
2.2.12.3.02.4.02.5.02.6.02.7.02.7.12.7.23.0.03.0.13.0.23.1.03.1.13.1.23.2.03.2.13.2.23.2.33.2.43.3.04.0.04.1.04.2.04.3.04.4.04.5.04.6.04.7.04.8.0
4.8.1
python-flask-httpauth
Ubuntu:16.04:LTS
All versions, plus listed versions
2.2.1-1
None known
python-flask-httpauth
Ubuntu:18.04:LTS
All versions, plus listed versions
3.2.1-1
None known
python-flask-httpauth
Ubuntu:20.04:LTS
All versions, plus listed versions
3.2.4-33.2.4-3.1
None known
python-flask-httpauth
Ubuntu:22.04:LTS
All versions, plus listed versions
3.2.4-3.14.5.0-14.5.0-24.5.0-34.5.0-4
None known
python-flask-httpauth
Ubuntu:24.04:LTS
All versions, plus listed versions
4.5.0-4
None known
Show 5 moreShow less
Affected packages
PackageAffectedFixed
python-flask-httpauth
Ubuntu:25.10
All versions, plus listed versions
4.8.0-1
None known
python-flask-httpauth
Ubuntu:26.10
All versions, plus listed versions
4.8.0-14.8.1-1.1
None known
python-flask-httpauth
Ubuntu:26.04:LTS
All versions, plus listed versions
4.8.0-1
None known
python-Flask-HTTPAuth
openSUSE:Tumbleweed
before 4.8.1-1.1
4.8.1-1.1
python-Flask-HTTPAuth
openSUSE:Leap 16.0
before 4.8.0-bp160.2.1
4.8.0-bp160.2.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-34531 is a medium vulnerability (CVSS 6.5) in Miguelgrinberg Flask-httpauth, published March 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. Fixed in flask-httpauth 4.8.1.

References

Show 7 moreShow less
MoveEnter Open