<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glsa SYSTEM "http://www.gentoo.org/dtd/glsa.dtd">
<glsa id="201312-05">
  <title>SWI-Prolog : Multiple vulnerabilities</title>
  <synopsis>Multiple vulnerabilities have been found in SWI-Prolog which allow
    attackers to execute arbitrary code or cause a Denial of Service condition.
  </synopsis>
  <product type="ebuild">swi-prolog</product>
  <announced>2013-12-06</announced>
  <revised count="1">2013-12-06</revised>
  <bug>450284</bug>
  <access>remote</access>
  <affected>
    <package name="dev-lang/swi-prolog" auto="yes" arch="*">
      <unaffected range="ge">6.2.5</unaffected>
      <vulnerable range="lt">6.2.5</vulnerable>
    </package>
  </affected>
  <background>
    <p>SWI-Prolog is a free, small, and standard compliant Prolog compiler.</p>
  </background>
  <description>
    <p>Multiple vulnerabilities have been discovered in SWI-Prolog:
      * An error in the canoniseFileName() function could cause a stack-based
      buffer overflow (CVE-2012-6089).
      * An error in the expand() function could cause a stack-based buffer
      overflow (CVE-2012-6090).
    </p>
  </description>
  <impact type="normal">
    <p>A context-dependent attack can create files with specially crafted
      names, causing arbitrary code execution or a denial of service condition.
    </p>
  </impact>
  <workaround>
    <p>There is no known workaround at this time.</p>
  </workaround>
  <resolution>
    <p>All SWI-Prolog users should upgrade to the latest version:</p>
    
    <code>
      # emerge --sync
      # emerge --ask --oneshot --verbose "&gt;=dev-lang/swi-prolog-6.2.5"
    </code>
  </resolution>
  <references>
    <uri link="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2012-6089">CVE-2012-6089</uri>
    <uri link="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2012-6090">CVE-2012-6090</uri>
  </references>
  <metadata tag="requester" timestamp="2013-01-21T22:27:33Z">ackle</metadata>
  <metadata tag="submitter" timestamp="2013-12-06T05:30:38Z">
    BlueKnight
  </metadata>
</glsa>
