{"id":"CVE-2021-29621","aliases":["BIT-airflow-2021-29621","GHSA-434h-p4gx-jm89","PYSEC-2021-90"],"url":"https://o3.security/vulnerability/CVE-2021-29621","summary":"Observable Response Discrepancy in Flask-AppBuilder","details":"Flask-AppBuilder is a development framework, built on top of Flask. 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. Upgrade to version 3.3.0 or higher to resolve.","published":"2021-06-07T19:15:07.600Z","modified":"2026-08-07T16:50:27.521335Z","cvss":{"score":5.3,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"PyPI","name":"flask-appbuilder","fixedVersion":"3.3.0"}],"fix":{"url":"https://github.com/dpgaspar/Flask-AppBuilder/commit/780bd0e8fbf2d36ada52edb769477e0a4edae580","label":"dpgaspar/Flask-AppBuilder@780bd0e"},"references":[{"type":"WEB","url":"https://lists.apache.org/thread.html/r466759f377651f0a690475d5a52564d0e786e82c08d5a5730a4f8352%40%3Cannounce.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r5b754118ba4e996adf03863705d34168bffec202da5c6bdc9bf3add5%40%3Cannounce.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r91067f953906d93aaa1c69fe2b5472754019cc6bd4f1ba81349d62a0%40%3Ccommits.airflow.apache.org%3E"},{"type":"ADVISORY","url":"https://github.com/dpgaspar/Flask-AppBuilder/security/advisories/GHSA-434h-p4gx-jm89"},{"type":"FIX","url":"https://github.com/dpgaspar/Flask-AppBuilder/commit/780bd0e8fbf2d36ada52edb769477e0a4edae580"},{"type":"PACKAGE","url":"https://pypi.org/project/Flask-AppBuilder/"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-07T16:50:27.521335Z"}}