{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2020-36317 in the wild and no public exploit code.","fix":"Upgrade to a fixed version.","what":"CVE-2020-36317 is a high-severity memory corruption vulnerability in n/a, published on 11 Apr 2021. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2020-36317 and fix it if it is affected.\n\nWhat it is: CVE-2020-36317 is a high-severity memory corruption vulnerability in n/a, published on 11 Apr 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2020-36317 in the wild and no public exploit code.\n\nAffected product: n/a. No package-level version data is available, so check the vendor advisory linked from the reference page.\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-2020-36317/ (Markdown: https://insights.sbomify.com/CVE-2020-36317/index.md)","id":"CVE-2020-36317","markdown":"https://insights.sbomify.com/CVE-2020-36317/index.md","name":"CVE-2020-36317","record":{"aliases":["DEBIAN-CVE-2020-36317","GHSA-jc5q-p9cv-j8pj","UBUNTU-CVE-2020-36317"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution","denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust standard library","requires_auth":"none","summary":"A panic safety flaw in Rust's String::retain allows creating invalid UTF-8 strings, leading to memory safety violations and potential code execution.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"mitre","cpe":[{"product":"rust","vendor":"rust-lang"}],"cvss":{"score":7.5,"severity":"high","source":"nvd","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-787","name":"Out-of-bounds Write"}],"description":"In the standard library in Rust before 1.49.0, String::retain() function has a panic safety problem. It allows creation of a non-UTF-8 Rust string when the provided closure panics. This bug could result in a memory safety violation when other string APIs assume that UTF-8 encoding is used on the same string.","ecosystems":[],"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":"Memory corruption in n/a","id":"CVE-2020-36317","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"memory_corruption","year":"2020"},"n_packages":0,"n_references":2,"next":{"headline":"Use after free in n/a","id":"CVE-2020-36318"},"packages":[],"prev":{"headline":"Memory corruption in n/a","id":"CVE-2020-36316"},"products":["n/a"],"published":"2021-04-11","related":[{"cvss_score":9.8,"headline":"Use after free in n/a","id":"CVE-2020-36318","kev_date_added":null,"published":"2021-04-11"},{"cvss_score":9.8,"headline":"Integer overflow in n/a","id":"CVE-2018-1000810","kev_date_added":null,"published":"2018-10-08"},{"cvss_score":9.1,"headline":"Security feature bypass in n/a","id":"CVE-2021-29922","kev_date_added":null,"published":"2021-08-07"},{"cvss_score":8.2,"headline":"Rust OS Command Injection/Argument Injection vulnerability","id":"CVE-2024-43402","kev_date_added":null,"published":"2024-09-04"},{"cvss_score":7.8,"headline":"Memory corruption in n/a","id":"CVE-2018-1000657","kev_date_added":null,"published":"2018-08-20"},{"cvss_score":7.8,"headline":"Other in n/a","id":"CVE-2018-1000622","kev_date_added":null,"published":"2018-07-09"},{"cvss_score":7.5,"headline":"Memory corruption in n/a","id":"CVE-2015-20001","kev_date_added":null,"published":"2021-04-11"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"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-04","vendors":["n/a"]},"summary":"A panic safety flaw in Rust's String::retain allows creating invalid UTF-8 strings, leading to memory safety violations and potential code execution.","url":"https://insights.sbomify.com/CVE-2020-36317/"}