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

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                        ESB-2006.0389 -- [Solaris]
       Simultaneous Multi-Threading Processors May Leak Information
                                5 June 2006

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:              Multi- or Hyper-threading Processors
                         with shared L1 caches
Publisher:            Sun Microsystems
Operating System:     Solaris 8, 9 and 10
Impact:               Increased Privileges
                      Access Privileged Data
Access:               Existing Account
CVE Names:            CAN-2005-0109

Ref:                  ESB-2005.0385

Original Bulletin:
    http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-101739-1

- --------------------------BEGIN INCLUDED TEXT--------------------

Sun(sm) Alert Notification
     * Sun Alert ID: 101739
     * Synopsis: Simultaneous Multi-Threading Processors May Leak
       Information
     * Category: Security
     * Product: Solaris 9 Operating System, Solaris 10 Operating System,
       Solaris 7 Operating System, Solaris 8 Operating System
     * BugIDs: 6278935
     * Avoidance: Workaround
     * State: Resolved
     * Date Released: 01-Jun-2005, 01-Jun-2006
     * Date Closed: 01-Jun-2006
     * Date Modified: 01-Jun-2006

1. Impact

   On platforms supporting simultaneous multi-threading (Hyper-Threading
   technology), local unprivileged users might be able to deduce
   potentially secret data from another executing thread, using cache
   eviction analysis techniques.

   This issue is described in "Cache Missing for Fun and Profit" by Colin
   Percival, at http://www.daemonology.net/papers/htt.pdf.

   This issue is referenced by CERT vulnerability note VU#911878 at
   http://www.kb.cert.org/vuls/id/911878 and CAN-2005-0109 at
   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0109.

2. Contributing Factors

   This issue can occur in the following releases:

   x86 Platform
     * Solaris 7
     * Solaris 8
     * Solaris 9
     * Solaris 10

   Notes:
    1. This issue occurs only on processor platforms supporting
       simultaneous multi-threading (Hyper-Threading technology) with
       shared L1 caches.
    2. Solaris on AMD Multi-Core processors is not affected by this
       issue.
    3. Solaris on the SPARC platform is not affected by this issue.
    4. While an exploit has been demonstrated in a controlled
       environment, this vulnerability requires local access. The victim
       thread's codepaths should be well understood by the attacker.

3. Symptoms

   There are no predictable symptoms that would indicate the above
   described issue has been exploited. 

4. Relief/Workaround

   Relief for this issue can be achieved by following methods:

   A) Disabling Hyper-Threading in the BIOS:

   Many BIOS implementations provide a way to disable the Hyper-Threading
   feature. With the feature disabled, threads will not be able to
   simultaneously execute on a given physical processor, thus closing the
   vulnerability.

   Note: Overall system performance will likely be impacted.

   OR:

   B) Dynamic CPU Off-lining:

   Solaris provides a mechanism allowing CPUs (including virtual on
   multi-threaded cores) to be taken off-line without rebooting. By
   taking virtual CPUs off-line, a multi-threaded (e.g. Hyper-Threaded)
   processor can be forced to support only one thread at a time. This
   restriction greatly reduces the ability of the spy to effectively
   monitor the victim by forcing context switching to occur between
   thread/processes. CPUs may be taken off-line with the psradm(1M)
   command.

   Note: Overall system performance will likely be impacted, and these
   settings will not persist across reboot.

   Example: Off-lining all but one of each physical processor's logical
   CPUs:
    # psrinfo -vp
    The physical processor has 2 virtual processors (0, 4)
      x86 (chipid 0x0 GenuineIntel family 15 model 2 step 6 clock 3000 MHz)
            Intel(r) Xeon(tm) MP CPU 3.00GHz
    The physical processor has 2 virtual processors (1, 5)
      x86 (chipid 0x1 GenuineIntel family 15 model 2 step 6 clock 3000 MHz)
            Intel(r) Xeon(tm) MP CPU 3.00GHz
    The physical processor has 2 virtual processors (2, 6)
      x86 (chipid 0x2 GenuineIntel family 15 model 2 step 6 clock 3000 MHz)
            Intel(r) Xeon(tm) MP CPU 3.00GHz
    The physical processor has 2 virtual processors (3, 7)
      x86 (chipid 0x3 GenuineIntel family 15 model 2 step 6 clock 3000 MHz)
            Intel(r) Xeon(tm) MP CPU 3.00GHz
    # psrinfo
    0       on-line   since 04/20/2005 17:13:16
    1       on-line   since 04/20/2005 17:13:21
    2       on-line   since 04/20/2005 17:13:23
    3       on-line   since 04/20/2005 17:13:25
    4       on-line   since 04/20/2005 17:13:27
    5       on-line   since 04/20/2005 17:13:29
    6       on-line   since 04/20/2005 17:13:31
    7       on-line   since 04/20/2005 17:13:33
    # psradm -f 4 5 6 7
    # psrinfo
    0       on-line   since 04/20/2005 17:13:16
    1       on-line   since 04/20/2005 17:13:21
    2       on-line   since 04/20/2005 17:13:23
    3       on-line   since 04/20/2005 17:13:25
    4       off-line  since 05/18/2005 11:05:07
    5       off-line  since 05/18/2005 11:05:07
    6       off-line  since 05/18/2005 11:05:07
    7       off-line  since 05/18/2005 11:05:07

   Note: Availability of the psrinfo(1M) physical processor view (-vp) in
   Solaris 9 requires kernel patch 117172-17 or later. The feature is
   not available in Solaris 8 and earlier releases.

   OR:

   C) Solaris Containers:

   Properly configured, the Containers feature in Solaris 10 can be used
   to close this vulnerability. Containers in Solaris consist of Resource
   Pools and Zones.

   The Zones (zones(5)) feature allows for the creation of multiple
   virtual Solaris environments. Administrators can configure zones to
   contain users and applications. Each zone can then be bound to a CPU
   resource pool configured as above. Users and applications in a given
   zone will only be able to execute on CPUs contained in that zone's
   pool, thus preventing communication/spying across zones. It should be
   noted that proper use of Resource Pools to isolate CPU use of
   potential spy threads from processes containing valuable secret data
   (such as private keys) on the system could address this vulnerability.
   However, using Zones in addition to Resource Pools provides additional
   isolation since applications/users inside a given zone cannot see
   other applications/users outside the zone virtual environment.

   Note: The above workaround applies only to systems with more than one
   physical processor.

   Resource Pools are available in Solaris 9 as part of the built-in
   Solaris Resource Manager software. Zones and Resource Pools are both
   available in Solaris 10 as part of the built-in Solaris Containers
   feature.

   For more information about using Zones, please visit the "Zones
   BigAdmin System Administration Portal"
   at http://www.sun.com/bigadmin/content/zones/

   For more information about using Zones with Resource Pools, please see
   the "Solaris Containers Resource Management and Solaris Zones"
   answerbook at http://docs.sun.com/app/docs/doc/817-1592.

5. Resolution

   Workarounds described in the "Relief/Workaround" section are
   considered as the only practical methods to mitigate this issue.

Change History

   01-Jun-2006:
     * Updated Relief/Workaround

   This Sun Alert notification is being provided to you on an "AS IS"
   basis. This Sun Alert notification may contain information provided by
   third parties. The issues described in this Sun Alert notification may
   or may not impact your system(s). Sun makes no representations,
   warranties, or guarantees as to the information contained herein. ANY
   AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
   WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
   NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT
   YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE
   OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN.
   This Sun Alert notification contains Sun proprietary and confidential
   information. It is being provided to you pursuant to the provisions of
   your agreement to purchase services from Sun, or, if you do not have
   such an agreement, the Sun.com Terms of Use. This Sun Alert
   notification may only be used for the purposes contemplated by these
   agreements.

   Copyright 2000-2006 Sun Microsystems, Inc., 4150 Network Circle, Santa
   Clara, CA 95054 U.S.A. All rights reserved

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        http://www.auscert.org.au/render.html?cid=1980

If you believe that your computer system has been compromised or attacked in 
any way, we encourage you to let us know by completing the secure National IT 
Incident Reporting Form at:

        http://www.auscert.org.au/render.html?it=3192

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================

-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQCVAwUBRIPQnih9+71yA2DNAQITawP/SaOPtLSvm5vLYDOe4PmBQNsqya2+1hFG
iE04neiMQioLyzDzoAVz0fSoec/MrCyT/8IkXFFug3YOTA0aDa6W7uNpWQJgPTcA
Y+VVvBWAln3crqOfmofLp20bu280p3+Ubny2Kt41bhfM/rchY/ip9TQvDI6nydQY
vWAEtMlPDPY=
=t8NW
-----END PGP SIGNATURE-----