-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

______________________________________________________________________________

                        SUSE Security Announcement

        Package:                permissions
        Announcement ID:        SUSE-SA:2005:062
        Date:                   Mon, 24 Oct 2005 08:00:00 +0000
        Affected Products:      SUSE LINUX 10.0
                                SUSE LINUX 9.3
                                SUSE LINUX 9.2
                                SUSE LINUX 9.1
                                SuSE Linux 9.0
                                SuSE Linux Desktop 1.0
                                SuSE Linux Enterprise Server 8
                                SUSE SLES 9
                                UnitedLinux 1.0
        Vulnerability Type:     information disclosure
        Severity (1-10):        4
        SUSE Default Package:   yes
        Cross-References:       -

    Content of This Advisory:
        1) Security Vulnerability Resolved:
             information disclosure via permissions package
           Problem Description
        2) Solution or Work-Around
        3) Special Instructions and Notes
        4) Package Location and Checksums
        5) Pending Vulnerabilities, Solutions, and Work-Arounds:
            - See SUSE Security Summary Report
        6) Authenticity Verification and Additional Information

______________________________________________________________________________

1) Problem Description and Brief Discussion

   SUSE LINUX ships with three pre defined sets of permissions, 'easy',
   'secure' and 'paranoid'. The chkstat program contained in the
   permissions package is used to set those permissions to the chosen
   level. Level 'easy' which is the default allows some world writeable
   directories. /usr/src/packages/RPMS and subdirectories is among
   them. To prevent users from playing tricks in there e.g. linking to
   /etc/shadow chkstat doesn't touch symlinks or files with an hardlink
   count != 1.
   
   Stefan Nordhausen discovered a way to trick this check. To gain
   access to e.g. /etc/shadow a malicious user has to place a hardlink
   to that file at a place that is modified by chkstat. chkstat will
   not touch the file because it has a hardlink count of two. However,
   if the administrator modifies the user database the original
   /etc/shadow gets deleted and replaced by a new one. That means the
   hardlink count of the file created by the malicious user drops to
   one. At this point chkstat will modify the file's permissions so
   anyone can read it. So it's technically impossible for chkstat to
   modify permissions of files in world writeable directories in a
   secure way.
   
   One such world writeable directoy in level 'easy' is
   /usr/src/packages/RPMS. Only subdirectories need to be adjusted in
   this case. Since normal users cannot create hard links to
   directories the problem can be solved by telling chkstat to not
   accept regular files. Another problematic directory is /var/games.
   Only members of group 'games' may write to it but it's likely that
   games with setgid 'games' are exploitable to allow user to gain
   group 'games' membership.
   
   The updated permissions package now tells chkstat when to only
   accept directories and no longer touches anything below /var/games
   to solve the described problems. On SUSE Linux 9.0 xmcd contained
   world writeable directories that suffered from the same problems.
   Updated xmcd packages for SUSE Linux 9.0 are therefore provided as
   well.
   
   We like to thank Stefan Nordhausen for pointing out the problems.

2) Solution or Work-Around

   In permissions level 'secure' no games are setgid 'games' and
   /usr/src/packages is not world writeable. You are safe if you
   switched to that level before any potentially malicious users could
   log in.

3) Special Instructions and Notes

   None

4) Package Location and Checksums

   The preferred method for installing security updates is to use the YaST
   Online Update (YOU) tool. YOU detects which updates are required and
   automatically performs the necessary steps to verify and install them.
   Alternatively, download the update packages for your distribution manually
   and verify their integrity by the methods listed in Section 6 of this
   announcement. Then install the packages using the command

     rpm -Fhv 

   to apply the update, replacing  with the filename of the
   downloaded RPM package.

   
   x86 Platform:
   
   SUSE LINUX 10.0:
             5f634cb4cd45ad3283e6055c3794ecff
             7e9beef0e8df0ba419ff64ac96ad57e1
   
   SUSE LINUX 9.3:
             216afa8469276198015e5fff177580d2
   
   SUSE LINUX 9.2:
             3d61d27c7bf81889a321972ac12dcaab
   
   SUSE LINUX 9.1:
             72d9a0b5b0b750fb656aa54eb7c6ebdd
   
   SuSE Linux 9.0:
             cf8c022048e93fc6d159913ad7824e6a
             f3e82cf342c45ab46fca16c98587b22d
   
   Power PC Platform:
   
   SUSE LINUX 10.0:
             f0077c15af6a95edbd7aa25055668967
             7f6552f5450b98821912c8703c580b38
   
   x86-64 Platform:
   
   SUSE LINUX 10.0:
             214b7d7fc6dfdac3e07eff2ad4abf0e9
             7b15cb94762ae6bc1cd7e441a08c39b4
   
   SUSE LINUX 9.3:
             0d11d64965eee2cefeb56edfe258fee4
   
   SUSE LINUX 9.2:
             4f2373ed4a93e3974b919e595a9490b7
   
   SUSE LINUX 9.1:
             3ca12f4aae9b7a1b484e6a0e4f8f658d
   
   SuSE Linux 9.0:
             853503b8868c1d2a34d05aaf6824cf83
             fd95ac5dd3980af5308abe7062849149
   
   Sources:
   
   SUSE LINUX 10.0:
             1784328035be5507b20737a2edfce8d8
             0fc7ffe7a9688f04c916c50709db08da
   
   SUSE LINUX 9.3:
             0a856cadf3b65db9434f20203413aba3
   
   SUSE LINUX 9.2:
             57c3240513c9861634e79547df4f8cf0
   
   SUSE LINUX 9.1:
             b47b5e76f759227d325a33dbbcb5ae96
             f98fa35639b7d118e6aed1ecb99c4cbb
   
   SuSE Linux 9.0:
             8fa2759f6d2012aee4571e5830ea26eb
             44f64e89f871fd07bd6291d88277b327
             48857a183ff120bc39ebb280eaca8764
             9e961bdfaf2c935857eb86bd64b74c83
   
   Our maintenance customers are notified individually. The packages are
   offered for installation from the maintenance web:
   
      https://www.suse.com:443/
      https://www.suse.com:443/

______________________________________________________________________________

5) Pending Vulnerabilities, Solutions, and Work-Arounds:

   - See SUSE Security Summary Report
     
______________________________________________________________________________

6) Authenticity Verification and Additional Information

  - Announcement authenticity verification:

    SUSE security announcements are published via mailing lists and on Web
    sites. The authenticity and integrity of a SUSE security announcement is
    guaranteed by a cryptographic signature in each announcement. All SUSE
    security announcements are published with a valid signature.

    To verify the signature of the announcement, save it as text into a file
    and run the command

      gpg --verify 

    replacing  with the name of the file where you saved the
    announcement. The output for a valid signature looks like:

      gpg: Signature made  using RSA key ID 3D25D3D9
      gpg: Good signature from "SuSE Security Team "

    where  is replaced by the date the document was signed.

    If the security team's key is not contained in your key ring, you can
    import it from the first installation CD. To import the key, use the
    command

      gpg --import gpg-pubkey-3d25d3d9-36e12d04.asc

  - Package authenticity verification:

    SUSE update packages are available on many mirror FTP servers all over the
    world. While this service is considered valuable and important to the free
    and open source software community, the authenticity and the integrity of
    a package needs to be verified to ensure that it has not been tampered
    with.

    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) Using the internal gpg signatures of the rpm package
    2) MD5 checksums as provided in this announcement

    1) The internal rpm package signatures provide an easy way to verify the
       authenticity of an RPM package. Use the command

        rpm -v --checksig 

       to verify the signature of the package, replacing  with the
       filename of the RPM package downloaded. The package is unmodified if it
       contains a valid signature from build@suse.de with the key ID 9C800ACA.

       This key is automatically imported into the RPM database (on
       RPMv4-based distributions) and the gpg key ring of 'root' during
       installation. You can also find it on the first installation CD and at
       the end of this announcement.

    2) If you need an alternative means of verification, use the md5sum
       command to verify the authenticity of the packages. Execute the command

         md5sum 

       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
       SUSE security announcement. Because the announcement containing the
       checksums is cryptographically signed (by security@suse.de), the
       checksums show proof of the authenticity of the package if the
       signature of the announcement is valid. Note that the md5 sums
       published in the SUSE Security Announcements are valid for the
       respective packages only. Newer versions of these packages cannot be
       verified.

  - SUSE runs two security mailing lists to which any interested party may
    subscribe:

    suse-security@suse.com
        -   General Linux and SUSE security discussion.
            All SUSE security announcements are sent to this list.
            To subscribe, send an e-mail to
                .

    suse-security-announce@suse.com
        -   SUSE's announce-only mailing list.
            Only SUSE's security announcements are sent to this list.
            To subscribe, send an e-mail to
                .

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

    ====================================================================    SUSE's security contact is  or .
    The  public key is listed below.
    ====================================================================

SuSE: 2005-062: permissions Security Update

October 24, 2005
SUSE LINUX ships with three pre defined sets of permissions, 'easy', SUSE LINUX ships with three pre defined sets of permissions, 'easy', 'secure' and 'paranoid'

Summary


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

______________________________________________________________________________

                        SUSE Security Announcement

        Package:                permissions
        Announcement ID:        SUSE-SA:2005:062
        Date:                   Mon, 24 Oct 2005 08:00:00 +0000
        Affected Products:      SUSE LINUX 10.0
                                SUSE LINUX 9.3
                                SUSE LINUX 9.2
                                SUSE LINUX 9.1
                                SuSE Linux 9.0
                                SuSE Linux Desktop 1.0
                                SuSE Linux Enterprise Server 8
                                SUSE SLES 9
                                UnitedLinux 1.0
        Vulnerability Type:     information disclosure
        Severity (1-10):        4
        SUSE Default Package:   yes
        Cross-References:       -

    Content of This Advisory:
        1) Security Vulnerability Resolved:
             information disclosure via permissions package
           Problem Description
        2) Solution or Work-Around
        3) Special Instructions and Notes
        4) Package Location and Checksums
        5) Pending Vulnerabilities, Solutions, and Work-Arounds:
            - See SUSE Security Summary Report
        6) Authenticity Verification and Additional Information

______________________________________________________________________________

1) Problem Description and Brief Discussion

   SUSE LINUX ships with three pre defined sets of permissions, 'easy',
   'secure' and 'paranoid'. The chkstat program contained in the
   permissions package is used to set those permissions to the chosen
   level. Level 'easy' which is the default allows some world writeable
   directories. /usr/src/packages/RPMS and subdirectories is among
   them. To prevent users from playing tricks in there e.g. linking to
   /etc/shadow chkstat doesn't touch symlinks or files with an hardlink
   count != 1.
   
   Stefan Nordhausen discovered a way to trick this check. To gain
   access to e.g. /etc/shadow a malicious user has to place a hardlink
   to that file at a place that is modified by chkstat. chkstat will
   not touch the file because it has a hardlink count of two. However,
   if the administrator modifies the user database the original
   /etc/shadow gets deleted and replaced by a new one. That means the
   hardlink count of the file created by the malicious user drops to
   one. At this point chkstat will modify the file's permissions so
   anyone can read it. So it's technically impossible for chkstat to
   modify permissions of files in world writeable directories in a
   secure way.
   
   One such world writeable directoy in level 'easy' is
   /usr/src/packages/RPMS. Only subdirectories need to be adjusted in
   this case. Since normal users cannot create hard links to
   directories the problem can be solved by telling chkstat to not
   accept regular files. Another problematic directory is /var/games.
   Only members of group 'games' may write to it but it's likely that
   games with setgid 'games' are exploitable to allow user to gain
   group 'games' membership.
   
   The updated permissions package now tells chkstat when to only
   accept directories and no longer touches anything below /var/games
   to solve the described problems. On SUSE Linux 9.0 xmcd contained
   world writeable directories that suffered from the same problems.
   Updated xmcd packages for SUSE Linux 9.0 are therefore provided as
   well.
   
   We like to thank Stefan Nordhausen for pointing out the problems.

2) Solution or Work-Around

   In permissions level 'secure' no games are setgid 'games' and
   /usr/src/packages is not world writeable. You are safe if you
   switched to that level before any potentially malicious users could
   log in.

3) Special Instructions and Notes

   None

4) Package Location and Checksums

   The preferred method for installing security updates is to use the YaST
   Online Update (YOU) tool. YOU detects which updates are required and
   automatically performs the necessary steps to verify and install them.
   Alternatively, download the update packages for your distribution manually
   and verify their integrity by the methods listed in Section 6 of this
   announcement. Then install the packages using the command

     rpm -Fhv 

   to apply the update, replacing  with the filename of the
   downloaded RPM package.

   
   x86 Platform:
   
   SUSE LINUX 10.0:
             5f634cb4cd45ad3283e6055c3794ecff
             7e9beef0e8df0ba419ff64ac96ad57e1
   
   SUSE LINUX 9.3:
             216afa8469276198015e5fff177580d2
   
   SUSE LINUX 9.2:
             3d61d27c7bf81889a321972ac12dcaab
   
   SUSE LINUX 9.1:
             72d9a0b5b0b750fb656aa54eb7c6ebdd
   
   SuSE Linux 9.0:
             cf8c022048e93fc6d159913ad7824e6a
             f3e82cf342c45ab46fca16c98587b22d
   
   Power PC Platform:
   
   SUSE LINUX 10.0:
             f0077c15af6a95edbd7aa25055668967
             7f6552f5450b98821912c8703c580b38
   
   x86-64 Platform:
   
   SUSE LINUX 10.0:
             214b7d7fc6dfdac3e07eff2ad4abf0e9
             7b15cb94762ae6bc1cd7e441a08c39b4
   
   SUSE LINUX 9.3:
             0d11d64965eee2cefeb56edfe258fee4
   
   SUSE LINUX 9.2:
             4f2373ed4a93e3974b919e595a9490b7
   
   SUSE LINUX 9.1:
             3ca12f4aae9b7a1b484e6a0e4f8f658d
   
   SuSE Linux 9.0:
             853503b8868c1d2a34d05aaf6824cf83
             fd95ac5dd3980af5308abe7062849149
   
   Sources:
   
   SUSE LINUX 10.0:
             1784328035be5507b20737a2edfce8d8
             0fc7ffe7a9688f04c916c50709db08da
   
   SUSE LINUX 9.3:
             0a856cadf3b65db9434f20203413aba3
   
   SUSE LINUX 9.2:
             57c3240513c9861634e79547df4f8cf0
   
   SUSE LINUX 9.1:
             b47b5e76f759227d325a33dbbcb5ae96
             f98fa35639b7d118e6aed1ecb99c4cbb
   
   SuSE Linux 9.0:
             8fa2759f6d2012aee4571e5830ea26eb
             44f64e89f871fd07bd6291d88277b327
             48857a183ff120bc39ebb280eaca8764
             9e961bdfaf2c935857eb86bd64b74c83
   
   Our maintenance customers are notified individually. The packages are
   offered for installation from the maintenance web:
   
      https://www.suse.com:443/
      https://www.suse.com:443/

______________________________________________________________________________

5) Pending Vulnerabilities, Solutions, and Work-Arounds:

   - See SUSE Security Summary Report
     
______________________________________________________________________________

6) Authenticity Verification and Additional Information

  - Announcement authenticity verification:

    SUSE security announcements are published via mailing lists and on Web
    sites. The authenticity and integrity of a SUSE security announcement is
    guaranteed by a cryptographic signature in each announcement. All SUSE
    security announcements are published with a valid signature.

    To verify the signature of the announcement, save it as text into a file
    and run the command

      gpg --verify 

    replacing  with the name of the file where you saved the
    announcement. The output for a valid signature looks like:

      gpg: Signature made  using RSA key ID 3D25D3D9
      gpg: Good signature from "SuSE Security Team "

    where  is replaced by the date the document was signed.

    If the security team's key is not contained in your key ring, you can
    import it from the first installation CD. To import the key, use the
    command

      gpg --import gpg-pubkey-3d25d3d9-36e12d04.asc

  - Package authenticity verification:

    SUSE update packages are available on many mirror FTP servers all over the
    world. While this service is considered valuable and important to the free
    and open source software community, the authenticity and the integrity of
    a package needs to be verified to ensure that it has not been tampered
    with.

    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) Using the internal gpg signatures of the rpm package
    2) MD5 checksums as provided in this announcement

    1) The internal rpm package signatures provide an easy way to verify the
       authenticity of an RPM package. Use the command

        rpm -v --checksig 

       to verify the signature of the package, replacing  with the
       filename of the RPM package downloaded. The package is unmodified if it
       contains a valid signature from build@suse.de with the key ID 9C800ACA.

       This key is automatically imported into the RPM database (on
       RPMv4-based distributions) and the gpg key ring of 'root' during
       installation. You can also find it on the first installation CD and at
       the end of this announcement.

    2) If you need an alternative means of verification, use the md5sum
       command to verify the authenticity of the packages. Execute the command

         md5sum 

       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
       SUSE security announcement. Because the announcement containing the
       checksums is cryptographically signed (by security@suse.de), the
       checksums show proof of the authenticity of the package if the
       signature of the announcement is valid. Note that the md5 sums
       published in the SUSE Security Announcements are valid for the
       respective packages only. Newer versions of these packages cannot be
       verified.

  - SUSE runs two security mailing lists to which any interested party may
    subscribe:

    suse-security@suse.com
        -   General Linux and SUSE security discussion.
            All SUSE security announcements are sent to this list.
            To subscribe, send an e-mail to
                .

    suse-security-announce@suse.com
        -   SUSE's announce-only mailing list.
            Only SUSE's security announcements are sent to this list.
            To subscribe, send an e-mail to
                .

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

    ====================================================================    SUSE's security contact is  or .
    The  public key is listed below.
    ====================================================================

References

Severity

Related News