Rapid7 Vulnerability & Exploit Database

Solaris libnspr NSPR_LOG_FILE Privilege Escalation

Back to Search

Solaris libnspr NSPR_LOG_FILE Privilege Escalation



This module exploits an arbitrary file write vulnerability in the Netscape Portable Runtime library (libnspr) on unpatched Solaris systems prior to Solaris 10u3 which allows users to gain root privileges. libnspr versions prior to 4.6.3 allow users to specify a log file with the `NSPR_LOG_FILE` environment variable. The log file is created with the privileges of the running process, resulting in privilege escalation when used in combination with a SUID executable. This module writes a shared object to the trusted library directory `/usr/lib/secure` and runs the specified SUID binary with the shared object loaded using the `LD_LIBRARY_PATH` environment variable. This module has been tested successfully with libnspr version 4.5.1 on Solaris 10u1 (01/06) (x86) and Solaris 10u2 (06/06) (x86).


  • iDefense
  • Marco Ivaldi
  • bcoles <bcoles@gmail.com>




x86, x64, sparc


Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/solaris/local/libnspr_nspr_log_file_priv_esc
msf exploit(libnspr_nspr_log_file_priv_esc) > show targets
msf exploit(libnspr_nspr_log_file_priv_esc) > set TARGET < target-id >
msf exploit(libnspr_nspr_log_file_priv_esc) > show options
    ...show and set options...
msf exploit(libnspr_nspr_log_file_priv_esc) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security