Security Digest, December 1, 2004

Debian GNU/Linux

Debian Security Advisory DSA 603-1 security@debian.org
Martin Schulze
December 1st, 2004 http://www.debian.org/security/faq

Package : openssl
Vulnerability : insecure temporary file
Problem-Type : local/remote
Debian-specific: no
CVE ID : CAN-2004-0975

Trustix developers discovered insecure temporary file creation
in a supplemental script (der_chop) of the openssl package which
may allow local users to overwrite files via a symlink attack.

For the stable distribution (woody) this problem has been fixed
in version 0.9.6c-2.woody.7.

For the unstable distribution (sid) this problem has been fixed
in version 0.9.7e-1.

We recommend that you upgrade your openssl package.

Upgrade Instructions

wget url

will fetch the file for you
dpkg -i file.deb

will install the referenced file.

If you are using the apt-get package manager, use the line for
sources.list as given below:

apt-get update

will update the internal database apt-get upgrade

will install corrected packages

You may use an automated update by adding the resources from the
footer to the proper configuration.

Debian GNU/Linux 3.0 alias woody

Source archives:


Size/MD5 checksum: 632 602dbc2dbc2ca2030c00f2fe4974b2ff


Size/MD5 checksum: 45284 9099375084f05be1f16e29426e206c6c


Size/MD5 checksum: 2153980 c8261d93317635d56df55650c6aeb3dc

Architecture independent components:


Size/MD5 checksum: 984 a582c62beb11f42b194720a4aca778fb

Alpha architecture:


Size/MD5 checksum: 1551570 e292eefea2c0377a724c568798674ad8


Size/MD5 checksum: 571464 95cad9ee036e17185570d296e20d9080


Size/MD5 checksum: 736594 96b53586706663281cfe5dfba0e79274

ARM architecture:


Size/MD5 checksum: 1358204 7906fdccc0e785b27a792cb58ad8d974


Size/MD5 checksum: 474270 95c0d657bf8dc54347a721cc159839b3


Size/MD5 checksum: 729984 13a17525bb5ee02f710e576627cdaa29

Intel IA-32 architecture:


Size/MD5 checksum: 1290528 54b46bf19ba1543a2e10f02a27e81860


Size/MD5 checksum: 461966 b5380c072591fc7601d1675983ac2c58


Size/MD5 checksum: 723366 32dd684d4d6e4d77882cbfd5e26e5a16

Intel IA-64 architecture:


Size/MD5 checksum: 1615432 f6d3a4ad7c86c560ba3bf1cf457fc4f3


Size/MD5 checksum: 711282 6923b5f064948242ce97758b3d870654


Size/MD5 checksum: 763686 4395eaf2e524871f9964d0e06fb11342

HP Precision architecture:


Size/MD5 checksum: 1435266 bd54f26da83b155d9d7277880cb41524


Size/MD5 checksum: 565130 a8aa7b3edddf38069acb76132f8f5339


Size/MD5 checksum: 742112 1602fe86f48babafc1b9cfde5a0566de

Motorola 680×0 architecture:


Size/MD5 checksum: 1266658 9542b5977cf79e3b5c720b7de1c9978b


Size/MD5 checksum: 450852 f25d15907a2a8967772065c9ee2190b9


Size/MD5 checksum: 720638 0e1eadb4432cbfec7305ae1719eea4d5

Big endian MIPS architecture:


Size/MD5 checksum: 1416416 e4b572714439992513818d5d184d4e37


Size/MD5 checksum: 483884 3b3d29ce161764d3f96747c4c519302a


Size/MD5 checksum: 718050 664bc23cd63398861ba6d4742c8d1865

Little endian MIPS architecture:


Size/MD5 checksum: 1410908 227926332c25764953e7ba5561367208


Size/MD5 checksum: 476920 e7c92808e7307dbf0e932df875b2b9d0


Size/MD5 checksum: 717396 1e40242efebc9c17eb5518f727870b6a

PowerPC architecture:


Size/MD5 checksum: 1387080 791d8455a44c7525cddc9da128a4c952


Size/MD5 checksum: 502688 fdaedc1290dd7a3e7f9f85f2d347407e


Size/MD5 checksum: 726936 a162e3135ac2da498d997d0cad134334

IBM S/390 architecture:


Size/MD5 checksum: 1326728 0ebfdd2e503767ffcbe81a27e4c9fdcf


Size/MD5 checksum: 510694 795765b236ba20e08a341d4790059915


Size/MD5 checksum: 731846 286d0fd35b8f4644bf5fe832ea9e3a32

Sun Sparc architecture:


Size/MD5 checksum: 1344486 e6cb9a98d11088e67dc5e9c9e69914eb


Size/MD5 checksum: 484982 81b108c09f20effa6bee11cf5cf9d76c


Size/MD5 checksum: 737436 3404c0b661a45984755c53897b5e58cc

These files will probably be moved into the stable distribution
on its next update.

For apt-get: deb http://security.debian.org/
stable/updates main
For dpkg-ftp: ftp://security.debian.org/debian-security
Mailing list: debian-security-announce@lists.debian.org

Package info: `apt-cache show <pkg>’ and http://packages.debian.org/<pkg>

SUSE Linux

SUSE Security Announcement

Package: kernel
Announcement-ID: SUSE-SA:2004:042
Date: Wednesday, Dec 1st 2004 15:00 MEST
Affected products: 8.1, 8.2, 9.0, 9.1, 9.2 SUSE Linux Enterprise
Server 8, 9 SUSE LINUX Desktop 1.0 Novell Linux Desktop 9
Vulnerability Type: local and remote denial of service
Severity (1-10): 7
SUSE default package: yes
Cross References: CAN-2004-0883 CAN-2004-0949 CAN-2004-1070
CAN-2004-1071 CAN-2004-1072 CAN-2004-1073 CAN-2004-1074

Content of this advisory:

  1. security vulnerability resolved:
    • kernel remote and local denial of service problems problem
  2. solution/workaround
  3. special instructions and notes
  4. package location and checksums
  5. pending vulnerabilities, solutions, workarounds:
    • see SUSE Security Summary Report
  6. standard appendix (further information)

1) problem description, brief discussion

The Linux kernel is the base of the SUSE Linux system.

Several security problems have been found and addressed by the
SUSE Security Team. The following issues are present in all SUSE
Linux based products.

  • Several remote denial of service conditions have been found in
    the smbfs file system, reported by Stefan Esser. The vulnerability
    could be used by a hostile SMB server (or an attacker injecting
    packets into the network) to crash the clients kernel. These issues
    have been assigned the Mitre CVE IDs CAN-2004-0883 and

    We thank Stefan Esser for reporting this issue and providing

  • Paul Starzetz of isec.pl found several missing boundary checks
    in the ELF loader routines of the Linux kernel which could
    potentially lead a local attacker to gain root privileges by using
    handmade ELF binaries. These issues have been assigned the Mitre
    CVE IDs CAN-2004-1070,CAN-2004-1071,CAN-2004-1072, and

    We thank Paul for reporting this issue and Chris Wright for
    providing a patch to fix the issue.

  • Handcrafted a.out binaries could be used to trigger a local
    denial of service condition in both 2.4 and 2.6 Linux kernels,
    allowing a local attacker to render the system unusable. Fixes for
    this problem were done by Chris Wright. This issue has been
    assigned the Mitre CVE ID CAN-2004-1074.

    We wish to thank Chris for providing patches.

  • SUSE Linux 9.1 and SUSE Linux Enterprise Server 9 now contain
    stricter checks what commands you can send to read-only opened CD
    devices. This way local attackers only having read access to the
    device will not be able to destroy the firmware of SCSI related

    This update will break the k3b and the dvd+rw-tools packages. We
    have released fixed versions of those packages.

  • The SUSE Linux 8.1, 8.2, and 9.0 and the SUSE Linux Desktop 1.0
    kernel were missing the kNFSD remote denial of service fix. The
    respective fixes are now in the released kernels.

    Also, the following critical bugs were fixed by this update:

  • A very small race condition on SMP systems with more than 4GB
    of memory that could expose foreign memory pages was found and
    fixed by Andrea Arcangeli of SUSE.
  • On SUSE Linux Enterprise Server 9 a memory corruption in the
    NFS readdirplus command could lead to kernel crashes and
    potentially corruption of data on disk. This problem was
  • On SUSE Linux 9.2 the “dazuko” kernel module of the “antivir”
    RPM package caused problems with programs using Linux capabilities.
    The module was fixed.
  • A security fix for buffer overflows in the decnet protocol
    driver was incorrect and caused kernel crashes.

2) solution/workaround

There is no workaround, please install the fixed kernels.

3) special instructions and notes


The following paragraphs will guide you through the installation
process in a step-by-step fashion. The character sequence “****”
marks the beginning of a new paragraph. In some cases, the steps
outlined in a particular paragraph may or may not be applicable to
your situation.
Therefore, please make sure to read through all of the steps below
before attempting any of these procedures. All of the commands that
need to be executed are required to be run as the superuser (root).
Each step relies on the steps before it to complete successfully.

  • Step 1: Determine the needed kernel type

    Please use the following command to find the kernel type that is
    installed on your system:

    rpm -qf /boot/vmlinuz

    Following are the possible kernel types (disregard the version
    and build number following the name separated by the “-”

          k_deflt   # default kernel, good for most systems.
          k_i386    # kernel for older processors and chip sets
          k_athlon  # kernel made specifically for AMD Athlon(tm) family processors
          k_psmp    # kernel for Pentium-I dual processor systems
          k_smp     # kernel for SMP systems (Pentium-II and above)
          k_smp4G   # kernel for SMP systems which supports a maximum of 4G of RAM
  • Step 2: Download the package for your system

    Please download the kernel RPM package for your distribution
    with the name as indicated by Step 1. The list of all kernel rpm
    packages is appended below. Note: The kernel-source package does
    not contain a binary kernel in bootable form. Instead, it contains
    the sources that the binary kernel rpm packages are created from.
    It can be used by administrators who have decided to build their
    own kernel. Since the kernel-source.rpm is an installable
    (compiled) package that contains sources for the linux kernel, it
    is not the source RPM for the kernel RPM binary packages.

    The kernel RPM binary packages for the distributions can be
    found at the locations below ftp://ftp.suse.com/pub/suse/i386/update/.


    After downloading the kernel RPM package for your system, you
    should verify the authenticity of the kernel rpm package using the
    methods as listed in section 3) of each SUSE Security

  • Step 3: Installing your kernel rpm package

    Install the rpm package that you have downloaded in Steps 3 or 4
    with the command

    rpm -Uhv –nodeps –force <K_FILE.RPM>
    where <K_FILE.RPM> is the name of the rpm package that you

    Warning: After performing this step, your system will likely not
    be able to boot if the following steps have not been fully

    If you run SUSE LINUX 8.1 and haven’t applied the kernel update
    (SUSE-SA:2003:034), AND you are using the freeswan package, you
    also need to update the freeswan rpm as a dependency as offered by
    YOU (YaST Online Update). The package can be downloaded from

  • Step 4: configuring and creating the initrd

    The initrd is a ramdisk that is loaded into the memory of your
    system together with the kernel boot image by the bootloader. The
    kernel uses the content of this ramdisk to execute commands that
    must be run before the kernel can mount its actual root filesystem.
    It is usually used to initialize SCSI drivers or NIC drivers for
    diskless operation.

    The variable INITRD_MODULES in /etc/sysconfig/kernel determines
    which kernel modules will be loaded in the initrd before the kernel
    has mounted its actual root filesystem. The variable should contain
    your SCSI adapter (if any) or filesystem driver modules.

    With the installation of the new kernel, the initrd has to be
    re-packed with the update kernel modules. Please run the


    as root to create a new init ramdisk (initrd) for your system.
    On SuSE Linux 8.1 and later, this is done automatically when the
    RPM is installed.

  • Step 5: bootloader

    If you run a SUSE LINUX 8.x, SLES8, or SUSE LINUX 9.x system,
    there are two options:
    Depending on your software configuration, you have either the lilo
    bootloader or the grub bootloader installed and initialized on your
    The grub bootloader does not require any further actions to be
    performed after the new kernel images have been moved in place by
    the rpm Update command.
    If you have a lilo bootloader installed and initialized, then the
    lilo program must be run as root. Use the command

    grep LOADER_TYPE /etc/sysconfig/bootloader

    to find out which boot loader is configured. If it is lilo, then
    you must run the lilo command as root. If grub is listed, then your
    system does not require any bootloader initialization.

    Warning: An improperly installed bootloader may render your
    system unbootable.

  • Step 6: reboot

    If all of the steps above have been successfully completed on
    your system, then the new kernel including the kernel modules and
    the initrd should be ready to boot. The system needs to be rebooted
    for the changes to become active. Please make sure that all steps
    have completed, then reboot using the command

    shutdown -r now

    init 6

    Your system should now shut down and reboot with the new

4) package location and checksums

Please download the update package for your distribution and
verify its integrity by the methods listed in section 3) of this
announcement. Then, install the package using the command “rpm -Fhv
file.rpm” to apply the update.
Our maintenance customers are being notified individually. The
packages are being offered to install from the maintenance

<pkg_sum output>

5) Pending vulnerabilities in SUSE Distributions and

Please see our weekly summary report.

6) standard appendix: authenticity verification, additional

  • Package authenticity verification:

    SUSE update packages are available on many mirror ftp servers
    all over the world. While this service is being considered valuable
    and important to the free and open source software community, many
    users wish to be sure about the origin of the package and its
    content before installing the package. There are two verification
    methods that can be used independently from each other to prove the
    authenticity of a downloaded file or rpm package:

    1. md5sums as provided in the (cryptographically signed)
    2. using the internal gpg signatures of the rpm package.
    3. execute the command md5sum <name-of-the-file.rpm> after
      you downloaded the file from a SUSE ftp server or its mirrors.
      Then, compare the resulting md5sum with the one that is listed in
      the announcement. Since the announcement containing the checksums
      is cryptographically signed (usually using the key security@suse.de), the checksums show
      proof of the authenticity of the package. We disrecommend to
      subscribe to security lists which cause the email message
      containing the announcement to be modified so that the signature
      does not match after transport through the mailing list software.
      Downsides: You must be able to verify the authenticity of the
      announcement in the first place. If RPM packages are being rebuilt
      and a new version of a package is published on the ftp server, all
      md5 sums for the files are useless.
    4. rpm package signatures provide an easy way to verify the
      authenticity of an rpm package. Use the command rpm -v –checksig
      <file.rpm> to verify the signature of the package, where
      <file.rpm> is the filename of the rpm package that you have
      downloaded. Of course, package authenticity verification can only
      target an un-installed rpm package file. Prerequisites:

      1. gpg is installed
      2. The package is signed using a certain key. The public part of
        this key must be installed by the gpg program in the directory
        ~/.gnupg/ under the user’s home directory who performs the
        signature verification (usually root). You can import the key that
        is used by SUSE in rpm packages for SUSE Linux by saving this
        announcement to a file (“announcement.txt”) and running the command
        (do “su -” to be root): gpg –batch; gpg < announcement.txt |
        gpg –import SUSE Linux distributions version 7.1 and thereafter
        install the key “build@suse.de
        upon installation or upgrade, provided that the package gpg is
        installed. The file containing the public key is placed at the
        top-level directory of the first CD (pubring.gpg) and at ftp://ftp.suse.com/pub/suse/pubring.gpg-build.suse.de
  • SUSE runs two security mailing lists to which any interested
    party may subscribe:


  • general/linux/SUSE security discussion.
    All SUSE security announcements are sent to this list. To
    subscribe, send an email to



  • SUSE’s announce-only mailing list.
    Only SUSE’s security announcements are sent to this list. To
    subscribe, send an email to


For general information or the frequently asked questions (FAQ)
send mail to:


SUSE’s security contact is <security@suse.com> or
The <security@suse.de>
public key is listed below.

The information in this advisory may be distributed or
reproduced, provided that the advisory is not modified in any way.
In particular, it is desired that the clear-text signature shows
proof of the authenticity of the text.
SUSE Linux AG makes no warranties of any kind whatsoever with
respect to the information contained in this security advisory.

Type Bits/KeyID Date User ID
pub 2048R/3D25D3D9 1999-03-06 SuSE Security Team <security@suse.de>
pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.de>

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis