Note: This is an archival copy of Security Sun Alert 200476 as previously published on http://sunsolve.sun.com.
Latest version of this security advisory is available from http://support.oracle.com as Sun Alert 1000354.1.
Article ID : 1000354.1
Article Type : Sun Alerts (SURE)
Last reviewed : 2006-11-06
Audience : PUBLIC
Copyright Notice: Copyright © 2010, Oracle Corporation and/or its affiliates.

Security Vulnerability Due to Buffer Overflow in The format(1M) Command May Allow Privilege Elevation For Certain RBAC Profiles



Category
Security

Release Phase
Resolved

Product
Solaris 9 Operating System
Solaris 10 Operating System
Solaris 8 Operating System

Bug Id
6296988

Date of Resolved Release
21-AUG-2006

Impact

Due to a security vulnerability in the format(1M) command, it may be possible for a user who has been granted the "File System Management" RBAC profile (or any custom profile which would allow the user to run the format(1M) command with root privileges) to execute arbitrary code with the privileges of the root user.


Contributing Factors

This issue can occur in the following releases:

SPARC Platform

  • Solaris 8 without patch 108975-10
  • Solaris 9 without patch 113072-08
  • Solaris 10 without patch 118833-18

x86 Platform

  • Solaris 8 without patch 108976-10
  • Solaris 9 without patch 114423-07
  • Solaris 10 without patch 118997-09

Note: This issue is only present when at least one non-root user on the system has been granted a profile allowing them to run the format(1M) command with root privileges, for example the "File System Management" profile. The assignment of profiles to users is configured in the user_attr(4) database. If the host is configured to only use a local file for this database, user's with the "File System Management" profile could be identified with a command such as the following:

    $ grep 'File System Management' /etc/user_attr

For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the user_attr(4) database, please refer to the relevant documentation for that source (for example, ldap(1), ypfiles(4) or nis+(1)).

To determine if an individual user has been granted the profile, the profiles(1) command can be used:

    $ profiles testuser | grep 'File System Management'

The above command will produce no output if the user has not been granted the profile.

If the host is configured to only use a local file for the exec_attr(4) database, a command similar to the following can be run to determine which profiles grant privileged access to the format(1M) utility:

    $ grep format /etc/security/exec_attr
    File System Management:suser:cmd:::/usr/sbin/format:euid=0

For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the exec_attr(4) database, please refer to the relevant documentation for that source (for example, ypfiles(4) or nis+(1)).


Symptoms

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


Workaround

The issue described in this Sun Alert only affects users who have been granted a profile which gives privileged access to the format(1M) command, such as the "File System Management" profile. To workaround this issue until patches can be applied, remove references to the format command from the exec_attr(4) database. This will result in those users no longer being granted privileged access to the format command.

For example, if the host is configured to only use a local file for the exec_attr(4) database, a "#" symbol can be inserted at the beginning of lines in the "/etc/security/exec_attr" file which reference the "format" command:

    $ grep /usr/sbin/format /etc/security/exec_attr
    #File System Management:suser:cmd:::/usr/sbin/format:euid=0

For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the exec_attr(4) database, please refer to the relevant documentation for that source (for example, ypfiles(4) or nis+(1)).


Resolution

This issue is addressed in the following releases:

SPARC Platform

  • Solaris 8 with patch 108975-10 or later
  • Solaris 9 with patch 113072-08 or later
  • Solaris 10 with patch 118833-18 or later

x86 Platform

  • Solaris 8 with patch 108976-10 or later
  • Solaris 9 with patch 114423-07 or later
  • Solaris 10 with patch 118997-09 or later


References

118833-18
108975-10
113072-08
118997-09
108976-10
114423-07




Attachments
This solution has no attachment