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

    <body>

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

        <p style="text-align:center; font-size:largest"><strong>CVE-2017-12608:
        Out-of-Bounds Write in Writer's ImportOldFormatStyles</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 Writer DOC file parser, and specifically in ImportOldFormatStyles, 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-12608.html">CVE-2017-12608</a>
        </p>
    </body>
</html>
