CVE-2026-34531
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.
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
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 Medium
CVSS: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 Medium
CVSS: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
NULLinstead. - 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 Medium
CVSS: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 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - CVSS 3.1
- 8.2 High
CVSS: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 Medium
CVSS: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 High
CVSS: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
NULLinstead. - 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 Medium
CVSS: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 High
CVSS: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 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - CVSS 3.1
- 8.2 High
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
flask-httpauthPyPI |
through 4.8.0 | 4.8.1 |
python-flask-httpauthDebian:12 |
All versions, plus listed versions 4.5.0-44.8.0-14.8.1-1.1 |
None known |
python-flask-httpauthDebian:13 |
All versions, plus listed versions 4.8.0-14.8.1-1.1 |
None known |
python-flask-httpauthDebian:14 |
before 4.8.1-1.1, plus listed versions 4.8.0-1 |
4.8.1-1.1 |
flask-httpauthPyPI |
before 4.8.1, plus listed versions 1.0.01.1.02.0.02.1.02.2.0 Show 29 moreShow less2.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-httpauthUbuntu:16.04:LTS |
All versions, plus listed versions 2.2.1-1 |
None known |
python-flask-httpauthUbuntu:18.04:LTS |
All versions, plus listed versions 3.2.1-1 |
None known |
python-flask-httpauthUbuntu:20.04:LTS |
All versions, plus listed versions 3.2.4-33.2.4-3.1 |
None known |
python-flask-httpauthUbuntu: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-httpauthUbuntu:24.04:LTS |
All versions, plus listed versions 4.5.0-4 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-flask-httpauthUbuntu:25.10 |
All versions, plus listed versions 4.8.0-1 |
None known |
python-flask-httpauthUbuntu:26.10 |
All versions, plus listed versions 4.8.0-14.8.1-1.1 |
None known |
python-flask-httpauthUbuntu:26.04:LTS |
All versions, plus listed versions 4.8.0-1 |
None known |
python-Flask-HTTPAuthopenSUSE:Tumbleweed |
before 4.8.1-1.1 | 4.8.1-1.1 |
python-Flask-HTTPAuthopenSUSE:Leap 16.0 |
before 4.8.0-bp160.2.1 | 4.8.0-bp160.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE 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
github.com/miguelgrinberg/Flask-HTTPAuth/security/advisories/GHSA-p44q-vqpr-4xmg
github.com/miguelgrinberg/flask-httpauth/commit/b15ffe9e50e110d7174ccd944f642079e1dcf9ee
github.com/miguelgrinberg/Flask-HTTPAuth/releases/tag/v4.8.1
lists.debian.org/debian-lts-announce/2026/05/msg00049.html
nvd.nist.gov/vuln/detail/CVE-2026-34531
github.com/advisories/GHSA-p44q-vqpr-4xmg