{"answers":{"affected":"3 open source packages ship an affected version, including xhtml2pdf.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-25885 exists.","fix":"Upgrade to a fixed version.","what":"CVE-2024-25885 is a high-severity denial of service vulnerability in n/a, published on 8 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2024-25885 and fix it if it is affected.\n\nWhat it is: CVE-2024-25885 is a high-severity denial of service vulnerability in n/a, published on 8 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-25885 exists.\n\nAffected packages and fixed versions:\n- xhtml2pdf (PyPI): affected all versions up to 0.2.16; no fix listed\n- xhtml2pdf (PyPI): affected all versions up to 0.2.16; no fix listed\n- xhtml2pdf (PyPI): affected all versions up to 0.2.16; no fix listed\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-25885/ (Markdown: https://insights.sbomify.com/CVE-2024-25885/index.md)","id":"CVE-2024-25885","markdown":"https://insights.sbomify.com/CVE-2024-25885/index.md","name":"CVE-2024-25885","record":{"aliases":["DEBIAN-CVE-2024-25885","GHSA-jj5c-hhrg-vv5h","PYSEC-2026-2056","UBUNTU-CVE-2024-25885","openSUSE-SU-2024:14601-1"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Python PDF library","requires_auth":"none","summary":"Attackers can cause a denial of service in xhtml2pdf by supplying a crafted string to the getcolor function, triggering a regular expression DoS.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"mitre","cpe":[],"cvss":{"score":7.5,"severity":"high","source":"cisa-adp","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-1333","name":"Inefficient Regular Expression Complexity"}],"description":"An issue in the getcolor function in utils.py of xhtml2pdf v0.2.13 allows attackers to cause a Regular expression Denial of Service (ReDOS) via supplying a crafted string.","ecosystems":["PyPI","openSUSE:Tumbleweed"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"xhtml2pdf Denial of Service via crafted string","id":"CVE-2024-25885","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"denial_of_service","year":"2024"},"n_packages":4,"n_references":1,"next":{"headline":"SQL injection in n/a","id":"CVE-2024-25891"},"packages":[{"ecosystem":"PyPI","fixed":[],"introduced":["0"],"last_affected":["0.2.16"],"package":"xhtml2pdf","purl":null,"source":"GHSA-jj5c-hhrg-vv5h"},{"ecosystem":"PyPI","fixed":[],"introduced":["0"],"last_affected":["0.2.16"],"package":"xhtml2pdf","purl":"pkg:pypi/xhtml2pdf","source":"GHSA-jj5c-hhrg-vv5h"},{"ecosystem":"PyPI","fixed":[],"introduced":["0"],"last_affected":["0.2.16"],"package":"xhtml2pdf","purl":"pkg:pypi/xhtml2pdf","source":"PYSEC-2026-2056"},{"ecosystem":"openSUSE:Tumbleweed","fixed":["0.2.16-2.1"],"introduced":["0"],"last_affected":[],"package":"python-xhtml2pdf","purl":"pkg:rpm/opensuse/python-xhtml2pdf\u0026distro=openSUSE%20Tumbleweed","source":"openSUSE-SU-2024:14601-1"}],"prev":{"headline":"The mstatus register in RSD commit 3d13a updates incorrectly, leading to processing errors.","id":"CVE-2024-25883"},"products":["n/a"],"published":"2024-10-08","related":[],"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":"openSUSE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-07-05","vendors":["n/a"]},"summary":"Attackers can cause a denial of service in xhtml2pdf by supplying a crafted string to the getcolor function, triggering a regular expression DoS.","url":"https://insights.sbomify.com/CVE-2024-25885/"}