IBM Platform LSF 9.1.1 Fix 501933 Readme File
Abstract
P102716. The fix enhances LSF security of authorizing user credentials to prevent attacking by preloading getuid function. It addresses CVE-2018-1724.
Description
LSF uses an external authentication framework to secure user credentials for the data stream between LSF clients and servers. Addressed by CVE-2018-1724, there is an attacking method that, when submitting a job, users can preload the getuid and change the job user.
This defect was present and undetected for over ten years, even during previous third party security reviews. However, there are no reported instances of anyone having exploited this defect to change job user.
This fix addresses CVE-2018-1724 by enhancing the eauth executable file to prevent the preloading of getuid to avoid the users changing their job user at job submission time. To prevent preloading in eauth entirely, this fix provides two new options for the hostsetup script.
A summary of the steps apply this fix is as follows (for detailed steps, follow section 5, Installation and configuration):
1. Back up the original eauth file.
2. Copy the eauth.cve file to eauth in the LSF_SERVERDIR directory, making sure that the privileges are the same as before.
3. On each host, run hostsetup --ext-serverdir="ext_serverdir" --eauth-key=”your-eauth-key” with root privileges.
The new options that this fix introduces for the hostsetup script are: --ext-serverdir and --eauth-key.
--ext-serverdir: Specify the location of the eauth executable file.
<dir> must be accessible to the local host where hostsetup is running.
--eauth-key: Specify the key strings. Running this command option
writes the following line to the /etc/lsf.sudoers file:
LSF_EAUTH_KEY="key"
The hostsetup --ext-serverdir command option performs the following actions:
1. Create a soft link from the cluster’s lsf.conf to /etc/lsf.conf,
2. Write values for the LSF_EXT_SERVERDIR, LSF_SERVERDIR, LSF_BINDIR, LSF_LIBDIR, and LSF_ENV_OVERRIDE=N parameters to the /etc/lsf.conf file.
3. Copy eauth and esub* to the LSF_EXT_SERVERDIR directory, give it root privileges, and set the S bit to eauth.
LSF_ENV_OVERRIDE=N means that LSF will only use parameters values in /etc/lsf.conf, also LSF_SERVERDIR, LSF_BINDIR, LSF_LIBDIR must be defined.
If the LSF_EXT_SERVERDIR parameter is configured, LSF uses the eauth under this directory. Do not remove the eauth file in the LSF_SERVERDIR directory for compatibility reasons.
Because this issue does not impact Windows, eauth.cve.exe is the only file for Windows platforms. For Windows hosts, after running patchinstall for this fix, shut down the LSF cluster, then rename eauth.exe to eauth.bk.exe, and eauth.cve.exe to eauth.exe, then start up the LSF cluster.
Sites that use LSF Kerberos authentication are not affected by this issue, but installing this fix addresses potential vulnerabilities if LSF Kerberos authentication is unavailable.
NOTES:
Readme file for: IBM® Platform LSF
Product/Component Release: 9.1.1
Update Name: Fix 501933
Fix ID: LSF-9.1.1-build501933
Publication date: 10 September 2018
Last modified date: 27 September 2018
Contents:
1. List of fixes
2. Download location
3. Products or components affected
4. System requirements
5. Installation and configuration for non-Windows
6. Installation and configuration for Windows
7. List of files
8. Product notifications
9. Copyright and trademark information
1. List of fixes
P102716
2. Download Location
Download Fix 501933 from the following location: http://www.ibm.com/eserver/support/fixes/
3. Products or components affected
Affected components for non-Windows include: LSF/eauth.cve, LSF/hostsetup, LSF/lim, LSF/pim, LSF/mbatchd, LSF/mbschd, LSF/sbatchd, LSF/res, LSF/bsub, LSF/bmod, LSF/badmin, LSF/lsadmin, LSF/bmgroup, LSF/bstatus LSF/bmig, LSF/bstop, LSF/lseligible, LSF/lsreconfig, LSF/lsreghost, LSF/lsfrestart, LSF/bapp, LSF/lsrtasks, LSF/bswitch, LSF/lsfshutdown, LSF/lsrun, LSF/bparams, LSF/btop, LSF/bbot, LSF/bpeek, LSF/bugroup, LSF/bchkpnt, LSF/bpost, LSF/busers, LSF/bclusters, LSF/lsfstartup, LSF/bconf, LSF/bqueues, LSF/bread, LSF/lsgrun, LSF/bgadd, LSF/lshosts, LSF/bgbroker, LSF/breconfig, LSF/egoconfig, LSF/lsid, LSF/bgdel, LSF/brequeue, LSF/lsinfo, LSF/bgmod, LSF/bresize, LSF/lsload, LSF/bgpinfo, LSF/bresources, LSF/lsloadadj, LSF/bhist, LSF/brestart, LSF/egosh, LSF/lslockhost, LSF/bhosts, LSF/bresume, LSF/lslogin, LSF/bhpart, LSF/brlainfo, LSF/bjdepinfo, LSF/brsvadd, LSF/bjgroup, LSF/brsvdel, LSF/bjobs, LSF/brsvmod, LSF/bkill, LSF/brsvs, LSF/lsacct, LSF/lsmon, LSF/blaunch, LSF/blimits, LSF/bsla, LSF/lsadmin, LSF/bmg, LSF/bslots, LSF/lsclusters, LSF/lsrcp, LSF/nios, LSF/melim, LSF/egosc
libbat.a libbat.so(libbat.dylib for Mac OS, libbat.sl for HP OS) liblsf.a liblsf.so(liblsf.dylib for Mac OS, liblsf.sl for HP OS) lsbatch.h lsf.h
Affected components for Windows include:
LSF/eauth.cve.exe
4. System requirements
aix-64
hpuxia64
hppa11i-64
linux2.6-glibc2.3-x86_64
macosx
x86-64-sol10
sparc-sol10-64
win32 win-x64 |
5. Installation and configuration for non-Windows
5.1 Before installation
(LSF_TOP=Full path to the top-level installation directory of LSF.)
1) Log on to the LSF master host as root
2) Set your environment:
- For csh or tcsh: % source LSF_TOP/conf/cshrc.lsf
- For sh, ksh, or bash: $ . LSF_TOP/conf/profile.lsf
5.2 Installation steps
Follow the complete installation procedure on every host to use LSF with non-shared file
systems.
1) Go to the patch install directory: cd $LSF_ENVDIR/../9.1/install/
2) Copy the patch file to the install directory $LSF_ENVDIR/../9.1/install/
3) Run patchinstall: ./patchinstall <patch>
5.3 After installation
1) Run badmin hshutdown all
2) Run lsadmin resshutdown all
3) Run lsadmin limshutdown all
4) Back up the eauth on all installed hosts as eauth.bak
5) Copy the eauth.cve to replace the eauth on all LSF hosts
6) Run chmod u+s $LSF_SERVERDIR/eauth to configure eauth as setuid to root
7) If cluster is a heterogenous cluster with shared installation, set LSF_LINK_PATH in $LSF_ENVDIR/lsf.conf to a local machine path
8) Run hostsetup --ext-serverdir --eauth-key to specify the security eauth path with root privileges.
9) Change LSF_SERVERDIR=$LSF_LINK_PATH/etc in $LSF_ENVDIR/lsf.conf
10) Run lsadmin limstartup all
11) Run lsadmin resstartup all
12) Run badmin hstartup all
5.4 Uninstallation
1) Run badmin hshutdown all
2) Run lsadmin resshutdown all
3) Run lsadmin limshutdown all
4) Go to the patch install directory: cd $LSF_ENVDIR/../9.1/install/, run ./patchinstall -r <patch>
5) Replace eauth with the backup eauth.bak on all LSF hosts
6) Run chmod u+s $LSF_SERVERDIR/eauth to configure eauth as setuid to root
7) Remove /etc/lsf.conf on each host, and comment out LSF_EXT_SERVERDIR LSF_ENV_OVERRIDE LSF_SERVERDIR in $LSF_ENVDIR/lsf.conf
8) Remove eauth key from the /etc/lsf.sudoers
9) Run lsadmin limstartup all
10) Run lsadmin resstartup all
11) Run badmin hstartup all
6. Installation and configuration for Windows
6.1 Before installation
None
6.2 Installation steps
1) Log on to the LSF master host as LSF cluster administrator
2) Run badmin hshutdown all
3) Run lsadmin resshutdown all
4) Run lsadmin limshutdown all
5) Log on to the Windows host as administrator, install the Windows patch
6.3 After installation
1) Log on to the Windows host as administrator
2) Backup the eauth.exe on the Windows host as eauth.bak.exe
3) Copy the eauth.cve.exe to replace the eauth.exe on the Windows host
4) Log on to the LSF master host as LSF cluster administrator
5) Run lsadmin limstartup all
6) Run lsadmin resstartup all
7) Run badmin hstartup all
6.4 Uninstallation
1) Log on to the LSF master host as LSF cluster administrator.
2) Run badmin hshutdown all
3) Run lsadmin resshutdown all
4) Run lsadmin limshutdown all
5) Log on to the Windows host as administrator, remove the patch installation from the Windows control panel on the Windows host
6) Replace eauth.exe with the backup eauth.bak.exe on the Windows host
7) Log on to the LSF master host as LSF cluster administrator.
8) Run lsadmin limstartup all
9) Run lsadmin resstartup all
10) Run badmin hstartup all
7. List of files
Non-windows:
badmin eauth.cve lsadmin mbatchd res sbatchd bsub bmod hostsetup lim mbschd pim
bmgroup bstatus bmig bstop lseligible lsreconfig lsreghost lsfrestart bapp lsrtasks bswitch lsfshutdown lsrun bparams btop bbot bpeek bugroup bchkpnt bpost busers bclusters lsfstartup bconf bqueues bread lsgrun bgadd lshosts bgbroker breconfig egoconfig lsid bgdel brequeue lsinfo bgmod bresize lsload bgpinfo bresources lsloadadj bhist brestart egosh lslockhost bhosts bresume lslogin bhpart brlainfo bjdepinfo brsvadd bjgroup brsvdel bjobs brsvmod bkill brsvs lsacct lsmon blaunch blimits bsla lsadmin bmg bslots lsclusters lsrcp
nios melim egosc
libbat.a libbat.so(libbat.dylib for Mac OS, libbat.sl for HP OS) liblsf.a liblsf.so(liblsf.dylib for Mac OS, liblsf.sl for HP OS) liblsbstream.so liblsbstream.a lsbatch.h lsf.h
Windows:
eauth.cve.exe
8. Product notifications
To receive information about product solution and patch updates automatically, subscribe to product notifications on the My notifications page (www.ibm.com/support/mynotifications) on the IBM Support website (support.ibm.com). You can edit your subscription settings to choose the types of information you want to get notification about, for example, security bulletins, fixes, troubleshooting, and product enhancements or documentation changes.
9. Copyright and trademark information
© Copyright IBM Corporation 2018
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM®, the IBM logo and ibm.com® are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.