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

pkgadd(1M) May Set Incorrect Permissions if The pkgmap(4) File Contains a "?"in The "Mode" Field


Release Phase

Solaris 10 Operating System

Bug Id

Date of Resolved Release


If a patch or package is installed which contains a pkgmap(4) with a "?" for the mode field of a file or directory onto a Solaris 10 system, pkgadd(1M) may incorrectly set the permissions of the corresponding file or directory to either 755 or 777. The permissions of 777 are a security risk since when applied to a file any user is then able to modify that file and when applied to a directory all files within that directory can modified by any user.

The expected behavior is:

  1. Default permissions (644 for files, and 755 for directories) when the file is not present in the system.
  2. Existing file permissions unchanged, if the file already exists.

Contributing Factors

This issue can occur in the following releases:

SPARC Platform

  • Solaris 10 without patch 119254-26

x86 Platform

  • Solaris 10 without patch 119255-26

Note 1: Solaris 8 and Solaris 9 are not impacted by this issue.

Note 2: This issue only occurs when the package being installed includes a file or directory that meets the following criterion:

  1. The pkgmap(4) entry for the file or directory contains a "?" in the "mode" field.

The following two pkgmap(4) entries meet the above criterion:

    1 d none /var/tmp/h ? ? ? 6092 63929 894644668
1 f none /var/tmp/xyz root other ? 6092 63929 894644668


When adding a package whose pkgmap(4) has a "?" entry in the file permissions field, then pkgadd(1M) prompts:

Do you want to install these as setuid/setgid files [y,n,?,q]

Selecting "yes" will result in the file being installed with permissions set to 755. Otherwise, it will be installed with permissions set to 777.


There is no workaround. Please see the "Resolution" section below.


This issue is addressed in the following releases:

SPARC Platform

  • Solaris 10 with patch 119254-26 or later

x86 Platform

  • Solaris 10 with patch 119255-26 or later



This solution has no attachment