{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2017-9047 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2017-9047 is a high-severity memory corruption vulnerability in Xmlsoft Libxml2, published on 18 May 2017. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2017-9047 and fix it if it is affected.\n\nWhat it is: CVE-2017-9047 is a high-severity memory corruption vulnerability in Xmlsoft Libxml2, published on 18 May 2017. 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-2017-9047 in the wild and no public exploit code.\n\nAffected product: Xmlsoft Libxml2. 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-2017-9047/ (Markdown: https://insights.sbomify.com/CVE-2017-9047/index.md)","id":"CVE-2017-9047","markdown":"https://insights.sbomify.com/CVE-2017-9047/index.md","name":"CVE-2017-9047","record":{"aliases":["DEBIAN-CVE-2017-9047","ECHO-29eb-b2c5-e0e1","GHSA-m5m9-w72w-8c23","UBUNTU-CVE-2017-9047"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"libxml2 library","requires_auth":"none","summary":"A buffer overflow in libxml2 allows attackers to cause a denial of service via crafted XML input, affecting applications using the library.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"mitre","cpe":[{"product":"libxml2","vendor":"xmlsoft"}],"cvss":{"score":7.5,"severity":"high","source":"nvd","vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.0"},"cwes":[{"id":"CWE-119","name":"Improper Restriction of Operations within the Bounds of a Memory Buffer"}],"description":"A buffer overflow was discovered in libxml2 20904-GITv2.9.4-16-g0741801. The function xmlSnprintfElementContent in valid.c is supposed to recursively dump the element content definition into a char buffer 'buf' of size 'size'. The variable len is assigned strlen(buf). If the content-\u003etype is XML_ELEMENT_CONTENT_ELEMENT, then (i) the content-\u003eprefix is appended to buf (if it actually fits) whereupon (ii) content-\u003ename is written to the buffer. However, the check for whether the content-\u003ename actually fits also uses 'len' rather than the updated buffer length strlen(buf). This allows us to write about \"size\" many bytes beyond the allocated memory. This vulnerability causes programs that use libxml2, such as PHP, to crash.","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-2017-9047","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"xmlsoft:libxml2","products":["xmlsoft:libxml2"],"type":"memory_corruption","year":"2017"},"n_packages":0,"n_references":6,"next":{"headline":"Memory corruption in n/a","id":"CVE-2017-9048"},"packages":[],"prev":{"headline":"Code injection in n/a","id":"CVE-2017-9046"},"products":["n/a"],"published":"2017-05-18","related":[{"cvss_score":9.8,"headline":"XML external entity in n/a","id":"CVE-2017-16931","kev_date_added":null,"published":"2017-11-23"},{"cvss_score":9.1,"headline":"Information disclosure in n/a","id":"CVE-2017-8872","kev_date_added":null,"published":"2017-05-10"},{"cvss_score":8.1,"headline":"Use after free in libxml2","id":"CVE-2022-49043","kev_date_added":null,"published":"2025-01-26"},{"cvss_score":8,"headline":"Memory corruption in libxml2","id":"CVE-2026-86140","kev_date_added":null,"published":"2026-09-05"},{"cvss_score":7.5,"headline":"Memory corruption in n/a","id":"CVE-2024-34459","kev_date_added":null,"published":"2024-05-13"},{"cvss_score":7.5,"headline":"Use after free in n/a","id":"CVE-2024-25062","kev_date_added":null,"published":"2024-02-04"},{"cvss_score":7.5,"headline":"Nokogiri gem, via libxml, is affected by DoS vulnerabilities","id":"CVE-2017-16932","kev_date_added":null,"published":"2017-11-23"}],"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":"2026-10-14","vendors":["n/a"]},"summary":"A buffer overflow in libxml2 allows attackers to cause a denial of service via crafted XML input, affecting applications using the library.","url":"https://insights.sbomify.com/CVE-2017-9047/"}