SWI-Prolog is a free, small, and standard compliant Prolog compiler.
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).
A context-dependent attack can create files with specially crafted names, causing arbitrary code execution or a denial of service condition.
There is no known workaround at this time.
All SWI-Prolog users should upgrade to the latest version:
# emerge --sync
# emerge --ask --oneshot --verbose ">=dev-lang/swi-prolog-6.2.5"