首页 -> 安全研究

安全研究

安全漏洞
GNU Enscript以不安全的方式创建临时文件漏洞

发布日期:2002-01-21
更新日期:2002-01-24

受影响系统:
GNU Enscript 1.4.0
    - Debian Linux 2.2
    - RedHat Linux 7.2
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - RedHat Linux 6.1
    - RedHat Linux 6.0
GNU Enscript 1.5.0
    - Debian Linux 2.2
    - RedHat Linux 7.2
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - RedHat Linux 6.1
    - RedHat Linux 6.0
GNU Enscript 1.6.0
    - Debian Linux 2.2
    - RedHat Linux 7.2
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - RedHat Linux 6.1
    - RedHat Linux 6.0
GNU Enscript 1.6.1
    - Debian Linux 2.2
    - RedHat Linux 7.2
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - RedHat Linux 6.1
    - RedHat Linux 6.0
描述:
BUGTRAQ  ID: 3920
CVE(CAN) ID: CVE-2002-0044

GNU enscript是一个免费的,开放源码的可将ASCII文件转换为PostScript(TM)文件的程序。程序主要运行在Linux、Unix类操作系统下。

Enscript存在以不安全的方式创建临时文件的问题,本地攻击者可以利用此漏洞覆盖或读取其他用户的文件。

Enscript使用两个不安全的函数tmpnam()和tempnam()创建临时文件,tmpnam()用在main.c里,tempnam()用在psgen.c里,它们创建的文件名不安全,很容易被猜到。除了两个函数本身的不安全外,程序本身对临时文件是否已经存在也未做检查。因此这种情况很容易导致符号链接攻击,使攻击者能够破坏其他用户的文件。

<*来源:Red Hat Security Advisory
  
  链接:https://www.redhat.com/support/errata/RHSA-2002-012.html
        http://www.debian.org/security/2002/dsa-105
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 如果程序不常用的话,暂时去掉程序的执行权限。

厂商补丁:

Debian
------
Debian已经为此发布了一个安全公告(DSA-105-1)以及相应补丁:
DSA-105-1:enscript creates temporary files insecurely
链接:http://www.debian.org/security/2002/dsa-105

补丁下载:

Source archives:
    http://security.debian.org/dists/stable/updates/main/source/enscript_1.6.2-4.1.diff.gz

http://security.debian.org/dists/stable/updates/main/source/enscript_1.6.2-4.1.dsc
    http://security.debian.org/dists/stable/updates/main/source/enscript_1.6.2.orig.tar.gz

  Alpha architecture:
    http://security.debian.org/dists/stable/updates/main/binary-alpha/enscript_1.6.2-4.1_alpha.deb

  ARM architecture:
    http://security.debian.org/dists/stable/updates/main/binary-arm/enscript_1.6.2-4.1_arm.deb

  Intel IA-32 architecture:
    http://security.debian.org/dists/stable/updates/main/binary-i386/enscript_1.6.2-4.1_i386.deb

  Motorola 680x0 architecture:
    http://security.debian.org/dists/stable/updates/main/binary-m68k/enscript_1.6.2-4.1_m68k.deb

  PowerPC architecture:
    http://security.debian.org/dists/stable/updates/main/binary-powerpc/enscript_1.6.2-4.1_powerpc.deb

  Sun Sparc architecture:
    http://security.debian.org/dists/stable/updates/main/binary-sparc/enscript_1.6.2-4.1_sparc.deb

补丁安装方法:

1. 手工安装补丁包:

  首先,使用下面的命令来下载补丁软件:
  # wget url  (url是补丁下载链接地址)

  然后,使用下面的命令来安装补丁:  
  # dpkg -i file.deb (file是相应的补丁名)

2. 使用apt-get自动安装补丁包:

   首先,使用下面的命令更新内部数据库:
   # apt-get update
  
   然后,使用下面的命令安装更新软件包:
   # apt-get upgrade

GNU
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.gnu.org

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2002:012-06)以及相应补丁:
RHSA-2002:012-06:Updated enscript packages fix temporary file handling vulnerabilities
链接:https://www.redhat.com/support/errata/RHSA-2002-012.html

补丁下载:

Red Hat Linux 6.0:

SRPMS:
ftp://updates.redhat.com/6.0/en/os/SRPMS/enscript-1.6.1-16.1.src.rpm

alpha:
ftp://updates.redhat.com/6.0/en/os/alpha/enscript-1.6.1-16.1.alpha.rpm

i386:
ftp://updates.redhat.com/6.0/en/os/i386/enscript-1.6.1-16.1.i386.rpm

sparc:
ftp://updates.redhat.com/6.0/en/os/sparc/enscript-1.6.1-16.1.sparc.rpm

Red Hat Linux 6.1:

SRPMS:
ftp://updates.redhat.com/6.1/en/os/SRPMS/enscript-1.6.1-16.1.src.rpm

alpha:
ftp://updates.redhat.com/6.1/en/os/alpha/enscript-1.6.1-16.1.alpha.rpm

i386:
ftp://updates.redhat.com/6.1/en/os/i386/enscript-1.6.1-16.1.i386.rpm

sparc:
ftp://updates.redhat.com/6.1/en/os/sparc/enscript-1.6.1-16.1.sparc.rpm

RedHat:

Red Hat Linux 6.2:

SRPMS:
ftp://updates.redhat.com/6.2/en/os/SRPMS/enscript-1.6.1-16.1.src.rpm

alpha:
ftp://updates.redhat.com/6.2/en/os/alpha/enscript-1.6.1-16.1.alpha.rpm

i386:
ftp://updates.redhat.com/6.2/en/os/i386/enscript-1.6.1-16.1.i386.rpm

sparc:
ftp://updates.redhat.com/6.2/en/os/sparc/enscript-1.6.1-16.1.sparc.rpm

Red Hat Linux 7.0:

SRPMS:
ftp://updates.redhat.com/7.0/en/os/SRPMS/enscript-1.6.1-16.2.src.rpm

alpha:
ftp://updates.redhat.com/7.0/en/os/alpha/enscript-1.6.1-16.2.alpha.rpm

i386:
ftp://updates.redhat.com/7.0/en/os/i386/enscript-1.6.1-16.2.i386.rpm

Red Hat Linux 7.1:

SRPMS:
ftp://updates.redhat.com/7.1/en/os/SRPMS/enscript-1.6.1-16.2.src.rpm

alpha:
ftp://updates.redhat.com/7.1/en/os/alpha/enscript-1.6.1-16.2.alpha.rpm

i386:
ftp://updates.redhat.com/7.1/en/os/i386/enscript-1.6.1-16.2.i386.rpm

ia64:
ftp://updates.redhat.com/7.1/en/os/ia64/enscript-1.6.1-16.2.ia64.rpm

Red Hat Linux 7.2:

SRPMS:
ftp://updates.redhat.com/7.2/en/os/SRPMS/enscript-1.6.1-16.2.src.rpm

i386:
ftp://updates.redhat.com/7.2/en/os/i386/enscript-1.6.1-16.2.i386.rpm

ia64:
ftp://updates.redhat.com/7.2/en/os/ia64/enscript-1.6.1-16.2.ia64.rpm

可使用下列命令安装补丁:
rpm -Fvh [文件名]

浏览次数:3216
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障