Impact Improper authentication on the REST API. Allows for a malicious actor with a carefully crafted request to successfully authenticate and gain access to existing protected REST API endpoints. Only affects non database authentication types, and new REST API endpoints.
Patches Upgrade to Flask-AppBuilder 3.3.4
For more information If you have any questions or comments about this advisory: Open an issue in https://github.com/dpgaspar/Flask-AppBuilder
Impact Lack of rate limiting will allow an attacker to brute-force user credentials.
Patches Ability to enable rate limiting on Flask-AppBuilder >= 4.3.0. Use AUTHRATELIMITED = True and RATELIMITENABLED = True set the limit itself by using AUTHRATELIMIT. Will apply only to database authentication.
Workarounds Implement rate limiting using a reverse proxy or other strategies.
Impact If using Flask-AppBuilder OAuth, an attacker can share a carefully crafted URL with a trusted domain for an application built with Flask-AppBuilder, this URL can redirect a user to a malicious site. This is an open redirect vulnerability
Patches Install Flask-AppBuilder 3.2.2 or above
Workarounds Filter HTTP traffic containing ?next={next-site} where the next-site domain is different from the application you are protecting
Impact A Cross-Site Scripting (XSS) vulnerability has been discovered on the OAuth login page. An attacker could trick a user to follow a specially crafted URL to the OAuth login page. This URL could inject and execute malicious javascript code that would get executed on the user's browser.
Impacted versions: Flask-AppBuilder version 4.1.4 up to and including 4.2.0
Patches This issue was introduced on 4.1.4 and patched on 4.2.1, user's should upgrade to 4.2.1 or newer versions.
Flask-AppBuilder is an application development framework, built on top of the Flask web framework. Flask-AppBuilder contains an open redirect vulnerability when using database authentication login page on versions below 3.4.5. This issue is fixed in version 3.4.5. There are currently no known workarounds.
Impact Auth DB login form default cache directives allows browser to locally store sensitive data. This can be an issue on environments using shared computer resources.
Patches Upgrade flask-appbuilder to version 4.5.1
Workarounds If upgrading is not possible configure your web server to send the following HTTP headers for /login: "Cache-Control": "no-store, no-cache, must-revalidate, max-age=0" "Pragma": "no-cache" "Expires": "0"
Impact User enumeration in database authentication in Flask-AppBuilder <= 4.5.3 and werkzeug >= 3.0.0. Allows for a non authenticated user to enumerate existing usernames by timing the response time from the server when brute forcing requests to login.
Patches
Upgrade to flask-appbuilder>=4.5.3
Workarounds Downgrade werkzeug to <3.0.0
References Are there any links users can visit to find out more?
Impact User enumeration in database authentication in Flask-AppBuilder <= 3.2.3. Allows for a non authenticated user to enumerate existing accounts by timing the response time from the server when you are logging in.
Patches Upgrade to 3.3.0
For more information If you have any questions or comments about this advisory: Open an issue in Flask-AppBuilder
Impact User enumeration in database authentication in Flask-AppBuilder < 3.4.4. Allows for a non authenticated user to enumerate existing accounts by timing the response time from the server when you are logging in.
Patches Upgrade to 3.4.4
Workarounds
References
For more information If you have any questions or comments about this advisory: Open an issue in example link to repo Email us at example email address
Impact An authenticated Admin user could craft HTTP requests to filter users by their salted and hashed passwords strings. These filters could be made by using partial hashed password strings. The response would not include the hashed passwords, but an attacker could infer partial password hashes and their respective users.
Only when using AUTHDB database authentication option.
Patches Fixed on 4.1.3
For more information If you have any questions or comments about this advisory: Open an issue in example link to repo Email us at example email address