{"answers":{"affected":"3 open source packages ship an affected version, including flask-security-too and Flask-Security-Too. It affects 1 product.","exploited":"There is no known exploitation of CVE-2021-21241 in the wild and no public exploit code.","fix":"Upgrade flask-security-too to 3.4.5 or later.","what":"CVE-2021-21241 is a high-severity vulnerability in Flask-Middleware flask-security-too, published on 11 Jan 2021. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2021-21241 and fix it if it is affected.\n\nWhat it is: CVE-2021-21241 is a high-severity vulnerability in Flask-Middleware flask-security-too, published on 11 Jan 2021. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2021-21241 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- flask-security-too (PyPI): affected from 3.3.0; fixed in 3.4.5\n- flask-security-too (PyPI): affected from 3.3.0; fixed in 3.4.5\n- Flask-Security-Too (PyPI): affected from 3.3.0; fixed in 3.4.5\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2021-21241/ (Markdown: https://insights.sbomify.com/CVE-2021-21241/index.md)","id":"CVE-2021-21241","markdown":"https://insights.sbomify.com/CVE-2021-21241/index.md","name":"CVE-2021-21241","record":{"aliases":["DEBIAN-CVE-2021-21241","GHSA-hh7m-rx4f-4vpv","PYSEC-2021-91","SUSE-SU-2022:3093-1"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Flask security library","requires_auth":"none","summary":"Attackers can steal authentication tokens via CSRF on GET endpoints, potentially taking over user accounts in Flask applications.","user_interaction":"required","vuln_class":"csrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"flask-security-too","vendor":"flask-security-too_project"}],"cvss":{"score":7.4,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-352","name":"Cross-Site Request Forgery"}],"description":"The Python \"Flask-Security-Too\" package is used for adding security features to your Flask application. It is an is a independently maintained version of Flask-Security based on the 3.0.0 version of Flask-Security. In Flask-Security-Too from version 3.3.0 and before version 3.4.5, the /login and /change endpoints can return the authenticated user's authentication token in response to a GET request. Since GET requests aren't protected with a CSRF token, this could lead to a malicious 3rd party site acquiring the authentication token. Version 3.4.5 and version 4.0.0 are patched. As a workaround, if you aren't using authentication tokens - you can set the SECURITY_TOKEN_MAX_AGE to \"0\" (seconds) which should make the token unusable.","ecosystems":["PyPI","SUSE:Enterprise Storage 7","SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS","SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","SUSE:Linux Enterprise Module for Basesystem 15 SP3","SUSE:Linux Enterprise Module for Basesystem 15 SP4","SUSE:Linux Enterprise Server 15 SP2-BCL","SUSE:Linux Enterprise Server 15 SP2-LTSS","SUSE:Linux Enterprise Server for SAP Applications 15 SP2","SUSE:Manager Proxy 4.1","SUSE:Manager Retail Branch Server 4.1","SUSE:Manager Server 4.1","openSUSE:Leap 15.3","openSUSE:Leap 15.4"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"CSRF can expose users authentication token in Flask-Security-Too","id":"CVE-2021-21241","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"csrf","year":"2021"},"n_packages":16,"n_references":6,"next":{"headline":"Pre-Auth Unsafe Deserialization on AttachmentUploadServet","id":"CVE-2021-21242"},"packages":[{"ecosystem":"PyPI","fixed":["3.4.5"],"introduced":["3.3.0"],"last_affected":[],"package":"Flask-Security-Too","purl":null,"source":"GHSA-hh7m-rx4f-4vpv"},{"ecosystem":"PyPI","fixed":["3.4.5"],"introduced":["3.3.0"],"last_affected":[],"package":"flask-security-too","purl":"pkg:pypi/flask-security-too","source":"GHSA-hh7m-rx4f-4vpv"},{"ecosystem":"PyPI","fixed":["3.4.5"],"introduced":["3.3.0"],"last_affected":[],"package":"flask-security-too","purl":"pkg:pypi/flask-security-too","source":"PYSEC-2021-91"},{"ecosystem":"SUSE:Enterprise Storage 7","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Enterprise%20Storage%207","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-ESPOS","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-LTSS","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP3","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP4","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP4","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP2-BCL","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-BCL","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP2-LTSS","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-LTSS","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP2","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP2","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Manager Proxy 4.1","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Manager%20Proxy%204.1","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Manager Retail Branch Server 4.1","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Manager%20Retail%20Branch%20Server%204.1","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"SUSE:Manager Server 4.1","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/suse/python-Flask-Security-Too\u0026distro=SUSE%20Manager%20Server%204.1","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"openSUSE:Leap 15.3","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/opensuse/python-Flask-Security-Too\u0026distro=openSUSE%20Leap%2015.3","source":"SUSE-SU-2022:3093-1"},{"ecosystem":"openSUSE:Leap 15.4","fixed":["3.4.2-150200.3.3.1"],"introduced":["0"],"last_affected":[],"package":"python-Flask-Security-Too","purl":"pkg:rpm/opensuse/python-Flask-Security-Too\u0026distro=openSUSE%20Leap%2015.4","source":"SUSE-SU-2022:3093-1"}],"prev":{"headline":"Regular Expression Denial of Service in httplib2","id":"CVE-2021-21240"},"products":["flask-security-too"],"published":"2021-01-11","related":[{"cvss_score":6.1,"headline":"Open redirect vulnerability in Flask-Security-Too","id":"CVE-2023-49438","kev_date_added":null,"published":"2023-12-26"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"CC BY 4.0","name":"SUSE","prefix":"SUSE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2024-08-03","vendors":["Flask-Middleware"]},"summary":"Attackers can steal authentication tokens via CSRF on GET endpoints, potentially taking over user accounts in Flask applications.","url":"https://insights.sbomify.com/CVE-2021-21241/"}