<!DOCTYPE html>
<html>
    <head>
        <title>CVE-2017-12607</title>
        <style type="text/css"></style>
    </head>

    <body>

        <p>
            <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12607">CVE-2017-12607</a>
        </p>
        <p>
            <a href="https://www.openoffice.org/security/cves/CVE-2017-12607.html">Apache OpenOffice Advisory</a>
        </p>

        <p style="text-align:center; font-size:largest"><strong>CVE-2017-12607:
        Out-of-Bounds Write in Impress' PPT Filter</strong></p>

        <p style="text-align:center; font-size:larger"><strong>Fixed in Apache OpenOffice 4.1.4</strong></p>

        <p><strong>Description</strong></p>

        <p>A vulnerability in OpenOffice's PPT file parser, and specifically in PPTStyleSheet, allows attackers to craft malicious documents that cause denial of service (memory corruption and application crash) potentially resulting in arbitrary code execution.</p>

        <p><strong>Severity: Medium</strong></p>

        <p>There are no known exploits of this vulnerability.<br />
          A proof-of-concept demonstration exists.
        </p>

        <p>Thanks to Marcin 'Icewall' Noga of Cisco Talos for discovering this issue.</p>

        <p>
          <strong>Vendor: The Apache Software Foundation</strong>
        </p>

        <p>
          <strong>Versions Affected</strong>
        </p>

        <p>
          All Apache OpenOffice versions 4.1.3 and older are affected.<br />
          OpenOffice.org versions are also affected.
        </p>

        <p>
          <strong>Mitigation</strong>
        </p>

        <p>
          Install Apache OpenOffice 4.1.4 for the latest maintenance and
          cumulative security fixes.  Use the Apache OpenOffice 
          <a href="https://www.openoffice.org/download/">download page</a>.
        </p>

             <p>
            <strong>Further Information</strong>
        </p>
        <p>For additional information and assistance, consult the
           <a href="https://forum.openoffice.org/">Apache OpenOffice Community Forums</a>
           or make requests to the
           <a href="mailto:users@openoffice.apache.org">users@openoffice.apache.org</a>
           public mailing list.
        </p>
        <p>The latest information on Apache OpenOffice security bulletins
        can be found at the <a href="https://www.openoffice.org/security/bulletin.html">Bulletin
        Archive page</a>.</p>


        <hr />

        <p>
            <a href="http://security.openoffice.org">Security Home</a>
    -&gt; <a href="http://security.openoffice.org/bulletin.html">Bulletin</a>
    -&gt; <a href="https://www.openoffice.org/security/cves/CVE-2017-12607.html">CVE-2017-12607</a>
        </p>
    </body>
</html>
