Security Vulnerability in the hsfs(7FS) File System



Category :Security
Release Phase :Resolved
Product :Solaris 9 Operating System
Solaris 10 Operating System
Solaris 8 Operating System  
Bug Id :6244328  
Date of Resolved Release :24-FEB-2006 


Impact

A security vulnerability in the Solaris file system driver for hsfs(7FS) file systems may allow local unprivileged users the ability to panic the system, creating a Denial of Service (DoS) condition, and/or execute arbitrary code with elevated privileges.


Contributing Factors

This issue can occur in the following releases:

SPARC Platform

x86 Platform


Symptoms

If the described issue occurs, the system will panic with BAD TRAPs at various locations in the hsfs(7FS) module. There are many potential stack traces, but the most frequent panic has a stack trace similar to the following:

    <trap>genunix:segmap_getmapflt+0x30([ ... ])
    genunix:fbread+0x60([ ... ])
    hsfs:hs_dirlook+0x1e0()
    hsfs:hsfs_lookup([ ... ])
    genunix:lookuppnvp+0x2ac([ ... ])
    genunix:lookuppnat+0x124([ ... ])
    genunix:lookupnameat+0xb0([ ... ])
    genunix:lookupname([ ... ])
    genunix:chdir+0x14([ ... ])
    unix:syscall_trap32+0xa8()

Note: The above example is only one of several failure modes (the most pervasive)that may be seen.


Workaround

To work around the described issue, sites may choose to disable the use of CDROM media by removing the references to the hsfs(7FS) file system from "/etc/vold.conf" and commenting out the lines in "/etc/rmmount.conf" referring to the hsfs(7FS) file system.

To identify the references to the hsfs(7FS) file system, the following command can be run:

    $ grep hsfs /etc/vold.conf /etc/rmmount.conf
    /etc/vold.conf:unsafe ufs hsfs pcfs udfs
    /etc/rmmount.conf:ident hsfs ident_hsfs.so cdrom
    /etc/rmmount.conf:mount * hsfs udfs ufs -o nosuid

To disallow CDROM access for unprivileged users, do the following:

Replace the lines:

    /etc/vold.conf:unsafe ufs hsfs pcfs udfs
    /etc/rmmount.conf:ident hsfs ident_hsfs.so cdrom
    /etc/rmmount.conf:mount * hsfs udfs ufs -o nosuid

With:

    /etc/vold.conf:unsafe ufs pcfs udfs
    /etc/rmmount.conf:#ident hsfs ident_hsfs.so cdrom
    /etc/rmmount.conf:#mount * hsfs udfs ufs -o nosuid

Note: The example shown above is on an unmodified Solaris 9 system.


Resolution

This issue is addressed in the following releases:

SPARC platform

x86 Platform






Attachments
This solution has no attachment

 
 
Login Required

You must login and have a valid contract to access Sun's Premium content which includes:

  • Sun Alerts
  • Bugs
  • Patches
  • Solutions
  • White Papers
  • Documentation
  • Support Knowledge

Login Required

You must login and have a valid contract to access Sun's contracted features

Access Legend:

(Login to access)   Sun Contracted Content
(Login to access)   Sun Contracted Feature

Please make use of SunSolve Feedback application by selecting the floating [+] to provide feedback about this specific document.

Search

Article Details
Article ID : 201352
Article Type : Sun Alert
Last reviewed : 2006-11-07
Audience : PUBLIC
Keywords :
Provide feedback  (help)
Page Tools
»  Print This Page
»  Email This Article
»  Bookmark This Article
 
Contact About Sun News & Events Employment Site Map Privacy Terms of Use Trademarks Copyright Sun Microsystems, Inc. | SunSolve Version 7.4.0 #1