TUCoPS :: Linux :: SUSE :: hack0377.htm

qt3 (SUSE-SA:2004:027)
SUSE Security Announcement: qt3 (SUSE-SA:2004:027)


-----BEGIN PGP SIGNED MESSAGE-----

______________________________________________________________________________

                        SUSE Security Announcement

        Package:                qt3/qt3-non-mt/qt3-32bit/qt3-static
        Announcement-ID:        SUSE-SA:2004:027
        Date:                   Thursday, Aug 19th 2004 15:00 MEST
        Affected products:      8.1, 8.2, 9.0, 9.1
                                SUSE Linux Database Server,
                                SUSE eMail Server III, 3.1
                                SUSE Linux Enterprise Server 8, 9
                                SUSE Linux Firewall on CD/Admin host
                                SUSE Linux Connectivity Server
                                SUSE Linux Office Server
        Vulnerability Type:     remote system compromise
        Severity (1-10):        7
        SUSE default package:   yes
        Cross References:       CAN-2004-0691
                                CAN-2004-0692
                                CAN-2004-0693

    Content of this advisory:
        1) security vulnerability resolved:
             - buffer overflow in image handling code
           problem description
        2) solution/workaround
        3) special instructions and notes
        4) package location and checksums
        5) pending vulnerabilities, solutions, workarounds:
            - opera
            - acroread
        6) standard appendix (further information)

______________________________________________________________________________

1) problem description, brief discussion

    The QT-library is an environment for GUI-programming and is used in
    various well-known projects, like KDE.

    Chris Evans found a heap overflow in the BMP image format parser
    (CAN-2004-0691) which can probably be abused by remote attackers to
    execute arbitrary code with the privileges of the user using a
    malformed image as input for a vulnerable QT-based application.
    Additionally a NULL dereference in the GIF parser (CAN-2004-0693)
    was found.
    This lead to more research by other people and revealed another NULL
    dereference in the XPM parser (CAN-2004-0692) found by Marcus Meissner,
    SuSE Security-Team.
    The last two bugs can be used to trigger a remote denial-of-service
    attack against QT-based applications.


2) solution/workaround

    A temporary workaround for this issue is not known.


3) special instructions and notes

    After applying the update make sure all QT-based applications are
    restarted. It would be best to re-login if you use KDE.


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 web.


    x86 Platform:

    SUSE Linux 9.1:
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-3.3.1-36.16.i 586.rpm
      ee1026d5b6a4a554d95ce9d3626d6bf7
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-non-mt-3.3.1 -41.14.i586.rpm
      ea6c27890eb69d47b54786a727cb782f
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-static-3.3.1- 41.14.i586.rpm
      b965364531163627f34b9a66e6d0b07e
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-3.3.1-36.16.i 586.patch.rpm
      e698670506097dff0f9e61b594bcfeb9
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-non-mt-3.3.1 -41.14.i586.patch.rpm
      e64be5421ff6f1451c2b2dc926f8f081
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/qt3-static-3.3.1- 41.14.i586.patch.rpm
      b891c79e3a96538b69417e1aba6e85c4
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/qt3-3.3.1-36.16.sr c.rpm
      7d3b4859cca3548004d4dc0e2cb431a8
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/qt3-non-mt-3.3.1- 41.14.src.rpm
      1ebff5e543d7d36cd13670189fe50443
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/qt3-static-3.3.1-4 1.14.src.rpm
      a14a20c83eedde899af40a88cf60a14a

    SUSE Linux 9.0:
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-3.2.1-68.i58 6.rpm
      975f35315d69a283355a9734edb323b1
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-non-mt-3.2.1 -70.i586.rpm
      2256aa7e05a0d6f3a055dc915c6823a9
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-static-3.2.1- 70.i586.rpm
      df61777b0ce9dc097c794bcf3d236981
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-3.2.1-68.i58 6.patch.rpm
      26cb661048adf99b3633d633347043a7
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-non-mt-3.2.1 -70.i586.patch.rpm
      f36dcd428c96ff5126817d0dfb130816
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/qt3-static-3.2.1- 70.i586.patch.rpm
      2bb28c8adac1b2db9a5c024c66095254
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/qt3-3.2.1-68.src.r pm
      79e218f9442f1d466d962c1a8c192f6d
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/qt3-non-mt-3.2.1- 70.src.rpm
      df6ad6d300013d65cce5907bc4db2cce
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/qt3-static-3.2.1-7 0.src.rpm
      55a6d43b4e9cb67e3cff9efa6948e28d

    SUSE Linux 8.2:
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-3.1.1-118.i5 86.rpm
      cdd76473d916801409c2076b5d8cb46a
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-non-mt-3.1.1 -125.i586.rpm
      2cd5ce43cd92a32ad398c951678bfdd4
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-static-3.1.1- 124.i586.rpm
      ec1dd1ddd3386ff6928c6fd865efcf31
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-3.1.1-118.i5 86.patch.rpm
      cc95b4f40c3cafb77ecedbd99c820cad
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-non-mt-3.1.1 -125.i586.patch.rpm
      a114f7060501d6b5eab88ed7b97f5da1
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/qt3-static-3.1.1- 124.i586.patch.rpm
      7da86919fd126713bb45fc30c8689b0b
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/src/qt3-3.1.1-118.src. rpm
      843966bca098ac9c4e14f07c4cbdfc31
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/src/qt3-non-mt-3.1.1- 125.src.rpm
      ce74982f20ab42826681e6839a6c8985
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/src/qt3-static-3.1.1-1 24.src.rpm
      31125b894ab4554760941b92d74d7b24

    SUSE Linux 8.1:
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-3.0.5-167.i5 86.rpm
      c9d7dc3a5670751d223c64b7e9fb9268
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-non-mt-3.0.5 -231.i586.rpm
      fbab1881ad8cbbb9631a61592a86c271
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-static-3.0.5- 159.i586.rpm
      0e4950eebe57d7fa9994320c74382049
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-3.0.5-167.i5 86.patch.rpm
      5925050be240253a7c084ce981c85bc7
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-non-mt-3.0.5 -231.i586.patch.rpm
      62e78b9496aeb0d0840f6a13d7e59785
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/qt3-static-3.0.5- 159.i586.patch.rpm
      456b459f8c2ca4faaa0fabe3b334e570
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/src/qt3-non-mt-3.0.5- 231.nosrc.rpm
      53c739863f94725f0f9fb5f0a1b9e4fd
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/src/qt3-static-3.0.5-1 59.nosrc.rpm
      fe6b13ab4a056648b75597f2727e25d7




    x86-64 Platform:

    SUSE Linux 9.1:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-3.3.1- 36.16.x86_64.rpm
      3524b344918baf5355c7c2e0725db323
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-non-m t-3.3.1-41.14.x86_64.rpm
      6b0e942470d01229251e574dd9d4f96d
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-static- 3.3.1-41.14.x86_64.rpm
      e9d953b5d043b290b3b1cff662f86946
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-3.3.1- 36.16.x86_64.patch.rpm
      d4ad80cb52efb2d135f398e209c52632
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-non-m t-3.3.1-41.14.x86_64.patch.rpm
      b84ad3c425ba10a37faa9bbba6a060c7
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/qt3-static- 3.3.1-41.14.x86_64.patch.rpm
      d53a5b337037a74589b11da4729bfa14
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/qt3-3.3.1-36.1 6.src.rpm
      68a890f08853c1cdc08788a9241d0cbf
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/qt3-non-mt-3. 3.1-41.14.src.rpm
      937ee28b2e943d0c8dc0ffe618afb5b1
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/qt3-static-3.3. 1-41.14.src.rpm
      95b1ba6fe5ef947376570de538578081

    SUSE Linux 9.0:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-3.2.1- 68.x86_64.rpm
      b2110cb13ee350d616f6558fa719089e
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-non-m t-3.2.1-70.x86_64.rpm
      2e43ea64c00a319d734dcba439a8b08e
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-static- 3.2.1-70.x86_64.rpm
      1856dbb6ac0a1936766f45bf4de4d1c3
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-3.2.1- 68.x86_64.patch.rpm
      e358d84c5b3cb6633cc932d25f4ab7bf
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-non-m t-3.2.1-70.x86_64.patch.rpm
      6d7f993e6148b60eaa40dadc5c2b9919
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/qt3-static- 3.2.1-70.x86_64.patch.rpm
      0717ffc7d31766e3cba63b5af84b338a
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/qt3-3.2.1-68.sr c.rpm
      5091d4b48d52dae0efc4c50e1dffad19
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/qt3-non-mt-3. 2.1-70.src.rpm
      24524c12c4315715a925e2d4dee12235
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/qt3-static-3.2. 1-70.src.rpm
      c0987ba79b084d5782441890a2a0dacf

______________________________________________________________________________

5)  Pending vulnerabilities in SUSE Distributions and Workarounds:

    - opera
    The web-browser opera is affected by several security bugs. Due to
    the nature of this package we are not able to provide security updates
    in a timely manner and have to wait for binary packages to be published
    by "Opera Software".

    - acroread
    iDEFENSE reported a buffer overflow and insecure handling of shell
    meta-chars in acroread code.
    We depend on the release of a new binary package by Adobe.
    An update will be available as soon as possible.

______________________________________________________________________________

6)  standard appendix: authenticity verification, additional information

  - 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) announcement.
    2) using the internal gpg signatures of the rpm package.

    1) 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
       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.

    2) 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, where  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:
        a) gpg is installed
        b) 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:

    suse-security@suse.com 
        -   general/linux/SUSE security discussion.
            All SUSE security announcements are sent to this list.
            To subscribe, send an email 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 email to
                . 

    For general information or the frequently asked questions (faq)
    send mail to:
         or 
         respectively. 

    =====================================================================
    SUSE's security contact is  or . 
    The  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  
pub  1024D/9C800ACA 2000-10-19 SuSE Package Signing Key  

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org 

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
DgCfZ5Wj+f7cnYpFZI6GkAyyczG09sE=
=LRKC
- -----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iQEVAwUBQSS29Xey5gA9JdPZAQFZAgf+KI1R99QGlkHl+CwMRMImn1KDhHAr2k/x
T9ZYnk7uZv//DNhoRCnfD9J9hAaiUvHh8S2CHc+ET9o4MQkrSrM+kACus6RKF2t+
ffFZIjCG0xzdRGgvmIyLS+h3BPijMERtszg3tJrzbLAcd1NQjQb27ACjr8n+faQl
L/V1cOFrpd6lJMW0lg8WvHcxe9wwHk9h+HqltHIGCSqIGFZD0Icjw4DqAT1aNoiG
kswfOuumzm11I6op8oK5F7snQyb8AnEgrtK62yt2eB3hTgnUs/E5wNv5+xoMRuyI
MNYVKSEQKft3gn8P6hyi9IwLyCZW9WAkyMmplwbosDWf+6vwMpij1Q==
=Ik0W
-----END PGP SIGNATURE-----

TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH