{"answers":{"affected":"3 open source packages ship an affected version, including wagtail-2fa. It affects 1 product.","exploited":"There is no known exploitation of CVE-2019-16766 in the wild and no public exploit code.","fix":"Upgrade wagtail-2fa to 1.3.0 or later.","what":"CVE-2019-16766 is a high-severity authentication bypass vulnerability in Lab Digital wagtail-2fa, published on 29 Nov 2019. An attacker needs administrator access to exploit it, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2019-16766 and fix it if it is affected.\n\nWhat it is: CVE-2019-16766 is a high-severity authentication bypass vulnerability in Lab Digital wagtail-2fa, published on 29 Nov 2019. An attacker needs administrator access to exploit it, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2019-16766 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- wagtail-2fa (PyPI): affected all versions; fixed in 1.3.0\n- wagtail-2fa (PyPI): affected all versions; fixed in 1.3.0\n- wagtail-2fa (PyPI): affected all versions; fixed in 1.3.0\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-2019-16766/ (Markdown: https://insights.sbomify.com/CVE-2019-16766/index.md)","id":"CVE-2019-16766","markdown":"https://insights.sbomify.com/CVE-2019-16766/index.md","name":"CVE-2019-16766","record":{"aliases":["GHSA-89px-ww3j-g2mm","PYSEC-2019-135"],"analysis":{"component_type":"cms_plugin","fix_type":"upgrade","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Wagtail 2FA plugin","requires_auth":"high_privilege","summary":"Attackers with valid credentials can bypass two-factor authentication by manipulating the URL to add a new device and gain full CMS access.","user_interaction":"not_required","vuln_class":"auth_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"wagtail-2fa","vendor":"labdigital"}],"cvss":{"score":8.7,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-304","name":"Missing Critical Step in Authentication"},{"id":"CWE-290","name":"Authentication Bypass by Spoofing"}],"description":"When using wagtail-2fa before 1.3.0, if someone gains access to someone's Wagtail login credentials, they can log into the CMS and bypass the 2FA check by changing the URL. They can then add a new device and gain full access to the CMS. This problem has been patched in version 1.3.0.","ecosystems":["PyPI"],"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":"2FA bypass in Wagtail through new device path","id":"CVE-2019-16766","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"auth_bypass","year":"2019"},"n_packages":3,"n_references":3,"next":{"headline":"In EzMaster before 5.2.11 docker containers were executed with advanced privileges by default","id":"CVE-2019-16767"},"packages":[{"ecosystem":"PyPI","fixed":["1.3.0"],"introduced":["0"],"last_affected":[],"package":"wagtail-2fa","purl":null,"source":"GHSA-89px-ww3j-g2mm"},{"ecosystem":"PyPI","fixed":["1.3.0"],"introduced":["0"],"last_affected":[],"package":"wagtail-2fa","purl":"pkg:pypi/wagtail-2fa","source":"GHSA-89px-ww3j-g2mm"},{"ecosystem":"PyPI","fixed":["1.3.0"],"introduced":["0"],"last_affected":[],"package":"wagtail-2fa","purl":"pkg:pypi/wagtail-2fa","source":"PYSEC-2019-135"}],"prev":{"headline":"Code injection in vscode-codeql","id":"CVE-2019-16765"},"products":["wagtail-2fa"],"published":"2019-11-29","related":[{"cvss_score":7.6,"headline":"2FA bypass through deleting devices in wagtail-2fa","id":"CVE-2020-5240","kev_date_added":null,"published":"2020-03-13"}],"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":"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-05","vendors":["Lab Digital"]},"summary":"Attackers with valid credentials can bypass two-factor authentication by manipulating the URL to add a new device and gain full CMS access.","url":"https://insights.sbomify.com/CVE-2019-16766/"}