GNU enscript是一个免费的,开放源码的可将ASCII文件转换为PostScript(TM)文件的程序。程序主要运行在Linux、Unix类操作系统下。 Enscript存在以不安全的方式创建临时文件的问题,本地攻击者可以利用此漏洞覆盖或读取其他用户的文件。 Enscript使用两个不安全的函数tmpnam()和tempnam()创建临时文件,tmpnam()用在main.c里,tempnam()用在psgen.c里,它们创建的文件名不安全,很容易被猜到。除了两个函数本身的不安全外,程序本身对临时文件是否已经存在也未做检查。因此这种情况很容易导致符号链接攻击,使攻击者能够破坏其他用户的文件。
GNU enscript是一个免费的,开放源码的可将ASCII文件转换为PostScript(TM)文件的程序。程序主要运行在Linux、Unix类操作系统下。 Enscript存在以不安全的方式创建临时文件的问题,本地攻击者可以利用此漏洞覆盖或读取其他用户的文件。 Enscript使用两个不安全的函数tmpnam()和tempnam()创建临时文件,tmpnam()用在main.c里,tempnam()用在psgen.c里,它们创建的文件名不安全,很容易被猜到。除了两个函数本身的不安全外,程序本身对临时文件是否已经存在也未做检查。因此这种情况很容易导致符号链接攻击,使攻击者能够破坏其他用户的文件。