{"answers":{"affected":"3 open source packages ship an affected version, including zenml. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-4311 exists.","fix":"Upgrade zenml to 0.57.0rc2 or later.","what":"CVE-2024-4311 is a medium-severity missing authorization vulnerability in zenml-io/zenml, published on 14 Nov 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2024-4311 and fix it if it is affected.\n\nWhat it is: CVE-2024-4311 is a medium-severity missing authorization vulnerability in zenml-io/zenml, published on 14 Nov 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-4311 exists.\n\nAffected packages and fixed versions:\n- zenml (PyPI): affected all versions; fixed in 0.57.0rc2\n- zenml (PyPI): affected all versions; fixed in 0.57.0rc2\n- zenml (PyPI): affected all versions; fixed in 0.57.0rc2\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-2024-4311/ (Markdown: https://insights.sbomify.com/CVE-2024-4311/index.md)","id":"CVE-2024-4311","markdown":"https://insights.sbomify.com/CVE-2024-4311/index.md","name":"CVE-2024-4311","record":{"aliases":["GHSA-j3vq-pmp5-r5xj","PYSEC-2026-2070"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"ZenML MLOps platform","requires_auth":"low_privilege","summary":"Attackers can brute-force passwords via the unthrottled update endpoint to take over user accounts in ZenML.","user_interaction":"required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"@huntr_ai","cpe":[{"product":"zenml","vendor":"zenml"}],"cvss":{"score":5.4,"severity":"medium","source":"cna","vector":"CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:H","version":"3.0"},"cwes":[{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling"}],"description":"zenml-io/zenml version 0.56.4 is vulnerable to an account takeover due to the lack of rate-limiting in the password change function. An attacker can brute-force the current password in the 'Update Password' function, allowing them to take over the user's account. This vulnerability is due to the absence of rate-limiting on the '/api/v1/current-user' endpoint, which does not restrict the number of attempts an attacker can make to guess the current password. Successful exploitation results in the attacker being able to change the password and take control of the account.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Lack of login attempt rate-limiting in zenml-io/zenml","id":"CVE-2024-4311","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"missing_authorization","year":"2024"},"n_packages":3,"n_references":2,"next":{"headline":"Soccer Engine – Soccer Plugin for WordPress \u003c= 1.12 - Cross-Site Request Forgery","id":"CVE-2024-4312"},"packages":[{"ecosystem":"PyPI","fixed":["0.57.0rc2"],"introduced":["0"],"last_affected":[],"package":"zenml","purl":null,"source":"GHSA-j3vq-pmp5-r5xj"},{"ecosystem":"PyPI","fixed":["0.57.0rc2"],"introduced":["0"],"last_affected":[],"package":"zenml","purl":"pkg:pypi/zenml","source":"GHSA-j3vq-pmp5-r5xj"},{"ecosystem":"PyPI","fixed":["0.57.0rc2"],"introduced":["0"],"last_affected":[],"package":"zenml","purl":"pkg:pypi/zenml","source":"PYSEC-2026-2070"}],"prev":{"headline":"Cross-site Scripting (XSS) vulnerability in HubBank","id":"CVE-2024-4310"},"products":["zenml-io/zenml"],"published":"2024-11-14","related":[{"cvss_score":9.9,"headline":"Directory Traversal in zenml-io/zenml","id":"CVE-2024-2083","kev_date_added":null,"published":"2024-04-16"},{"cvss_score":8.8,"headline":"Code injection in n/a","id":"CVE-2024-28424","kev_date_added":null,"published":"2024-03-14"},{"cvss_score":8.8,"headline":"ZenML Server Remote Privilege Escalation Vulnerability","id":"CVE-2024-25723","kev_date_added":null,"published":"2024-02-27"},{"cvss_score":7.5,"headline":"Denial of Service (DoS) via Multipart Boundary in zenml-io/zenml","id":"CVE-2024-9340","kev_date_added":null,"published":"2025-03-20"},{"cvss_score":6.5,"headline":"Improper Authorization in zenml-io/zenml","id":"CVE-2024-2035","kev_date_added":null,"published":"2024-06-06"},{"cvss_score":6.3,"headline":"Path Traversal in zenml-io/zenml","id":"CVE-2025-8406","kev_date_added":null,"published":"2025-10-05"}],"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":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2024-11-18","vendors":["zenml-io"]},"summary":"Attackers can brute-force passwords via the unthrottled update endpoint to take over user accounts in ZenML.","url":"https://insights.sbomify.com/CVE-2024-4311/"}