Fix (APAR): WAS_Security_03-17-2003_4.0.5-4.0.4-4.0.3_AEs_cumulative_Fix Status: Fix Release: 4.0.5,4.0.4,4.0.3 Operating System: All Supersedes Fixes: PQ61779, PQ62538, PQ62684, PQ63116, PQ63574 WAS_Security_09-13-2002_4.0.4-4.0.3_AEs_cumulative_eFix WAS_Security_10-07-2002_4.0.4-4.0.3_AEs_cumulative_eFix WAS_Security_10-31-2002_4.0.4-4.0.3_AEs_cumulative_eFix, WAS_Security_11-19-2002_4.0.4-4.0.3-4.0.2_AEs_cumulative_eFix an WAS_Security_01-06-2003_4.0.5-4.0.4_AEs_cumulative_eFi as well as any eFixes for APARs listed below CMVC Defect: See APAR list below Byte size of APAR: 1368514 Date: 03/20/2003 Abstract: Security cumulative fix. Description/symptom of problem: See APAR list below Directions to apply fix: 1) Create temporary "efix" directory to store the jar file AIX: /tmp/WebSphere/efix Solaris/Linux: /tmp/WebSphere/efix Windows: c:\temp\WebSphere\efix 2) Copy jar file to the director 3) Shutdown WebSphere 4) Run the jar file with the following command answering questions/prompts as they appear java -jar 5) Restart WebSphere 6) The temp directory may be removed but the jar file should be saved. Do not remove any files created and stored in the /WebSphere/AppServer/efix/ directories These files are required if an efix is to be removed Directions to remove fix: NOTE: EFIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED. DO NOT REMOVE AN EFIX UNLES ALL EFIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED EFIX Example: If your system has efix1, efix2, and efix3 applied in that order and efix2 is to b removed, efix3 must be removed first, efix2 removed, and efix3 re-applied 1) Change directory to the efix location (/WebSphere/AppServer/efix/) 2) Shutdown WebSphere 3) Run the backup jar file with the following command java -jar 4) Restart WebSphere Directions to re-apply fix: Follow the instructions for applying an efix. If the backup files still exist (from the previous efix application), you will be prompted to overwrite. Answer "yes" at the overwrite prompts Additional Information: ----------------------------------------------------------------- On 4.0.3, either PQ69951 or PQ70054 must be applied. Any fix which contains one of the aforementioned APARs is allowable. If the following excption is encountered after applying the fixes, apply the lates JSSE fix java.net.SocketException: Socket close at java.net.PlainSocketImpl.socketSetOption(Native Method at java.net.PlainSocketImpl.setOption(PlainSocketImpl.java:210 at java.net.Socket.setKeepAlive(Socket.java:619 at ... The administration server and all application servers and clients which use th Websphere installation directory must be stopped for proper application of this eFix Important note, if any of the following fixes have been applied this eFix may take an exceptionally long time to install (possibly up to 15 minutes or more depending system speed) PQ61779, PQ62538, PQ62684 or PQ6311 Some systems may encounter an error similar to the following while applying this eFix. 2002/10/04 14:09:47 Command= /opt/WebSphere/AppServer/temp/FixSecurityJar.sh /opt/WebSphere/AppServe 2002/10/04 14:09:48 RC=xx 2002/10/04 14:09:48 Error 112 -- The return code of xxx is not equal to the expected return code of 0 If you have not applied any of the 4 cumulative security efixes listed below on your system, then you can ignore these error messages in the extractor log. They are harmless and should not cause you any problems PQ61779, PQ62538, PQ62684 or PQ6311 If you have applied any of the above 4 cumulative security efixes on your system and get these errors when applying a later cumulative security efix, then this would be a valid error. There are two resolutions to this error. The first is to remov this eFix and all previous eFixes in the opposite order they were installed until all of the eFixes listed above have been removed Then all other eFixes including this one can be reapplied. The error above will still occur during installation but it can be ignored The second is to follow the steps below. For Windows, execute the following (Note use _AEs_ instead of _AE_ in commands below on AEs systems. cd \WebSphere\AppServe bin\setupCmdLine.ba %JAVA_HOME%\bin\jar -xvf WAS_Security_10-31-2002_4.0.4-4.0.3-4.0.2_AE_cumulative_eFix.jar temp\FixSecurityJar.ja %JAVA_HOME%\bin\jar -xvf WAS_Security_10-31-2002_4.0.4-4.0.3-4.0.2_AE_cumulative_eFix.jar temp\FixSecurityJar.ba temp\FixSecurityJar.bat %WAS_HOME For UNIX systems, execute the following (Note use _AEs_ instead of _AE_ in commands below on AEs systems. . bin/setupCmdLine.s $JAVA_HOME/bin/jar -xvf eFix/WAS_Security_10-31-2002_4.0.4-4.0.3-4.0.2_AE_cumulative_eFix.jar temp/FixSecurityJar.ja $JAVA_HOME/bin/jar -xvf eFix/WAS_Security_10-31-2002_4.0.4-4.0.3-4.0.2_AE_cumulative_eFix.jar temp/FixSecurityJar.s . temp/FixSecurityJar.sh $WAS_HOME The following properties must be set for PQ56218 to be effective In the admin.config file com.ibm.CORBA.ListenerPort=200 com.ibm.CORBA.SSLPort=200 com.ibm.CORBA.LSDPort=900 com.ibm.CORBA.LSDSSLPort=900 In each of the Application servers system properties: com.ibm.CORBA.ListenerPort=300 com.ibm.CORBA.SSLPort=300 Note, each port number must be unique and must not be in use by any other service on the system To enable PQ63020, set the following property in the admin.config com.ibm.ejs.security.customregistry.useSecurityName=tru Included APARS APAR: PQ63457 Version: 400 Abstract: ALLAUTHENTICATEDUSERS NOT WORKING FOR ROLE MAPPIN Error Description: Environment WebSphere Application Server (WAS) 4.0. Description Mapping an application role to the AllAuthenticatedUsers rol available by checkbox in the security center did not functio as prescribed...users were denied access to pages afte authenticated succeeded Local Fix: Non Logically Dependent Apars: Users Affected: All WebSphere Application Server users who have security e abled and are using WebSphere Studio Application Develope (WSAD) to create and deploy EARs with security role r ferences Problem Description: Users given access to a resource via the special role "All Au henticated Users" receive authorization failures Recommendation: Problem Summary: Users given access to a resource via the special role "Al Authenticated Users" receive authorization failures. Th reason for this was that WAS erroneously creating empty acces ID for special authorization subjects "All Authenticated Users and "Everyone." These special authorization subjects are no supposed to have access IDs which cause the name to be used a the access ID Problem Conclusion: Code was added at runtime to recreate the access ID as th name if the supplied ID is empty Test Comments: Circumvention: Edit the EAR with the AAT and remove the reference t "All Authenticated Users" and "Everyone," then save. Edit i again and re-add the references Temporary Fix: Contained in security cumulative eFix PQ63457 or more recent Comments: APAR: PQ63574 Version: 400 Abstract: INTERMITTENT AUTHORIZATION FAILURES FOR AUTHENTICATED USERS THA BELONG TO A ROL Error Description: Intermittent authorization failures occur for authenticate users who are properly configured for a security role. Th customer has discovered that the problem may not b intermittent, and may instead occur on the first web applicatio loaded when starting an application server. The problem seem to occur because for the first web app loaded the user registr value is null on the call to addAuthorizationTable(), s fillMissingAccessIds() does not occur. This results in th roles information not being available when performin authorizations for those roles This problem may be the same as the one reported in interna defect 139504 Local Fix: The customer has worked around the problem by building workaround into the WSAccessManager. They inserted a fix int the constructor whose signature is "publi WSAccessManager(RegistryImpl registryimpl)". The fix simpl inserts a call to fillAccessIds() to force the authorizatio information to be loaded Logically Dependent Apars: Users Affected: All WebSphere Application Server users who have enabled securi y Problem Description: Intermitant authorization problems due to improper authorizatio table initialization Recommendation: Problem Summary: Intermittent authorization problems due to imprope authorization table initialization. The tables were no initialized properly due to the improper use of a boolea value which was used to indicate initialization state of th tables Problem Conclusion: The boolean value was used at times to indicate a single tabl had been initialized when it should only be used to indicat all tables had been initialized. This was corrected Test Comments: Circumvention: Temporary Fix: Contained in security cumulative eFix PQ63457 or more recent Comments: APAR: PQ66162 Version: 400 Abstract: SERVERSIDEAUTHENTICATOR DOESN'T THROW EXCEPTIO Error Description: SSOAuthenticator - When use 1. Authenticates userid and password 2. Throws exception when authentication fails (works correctly 3. Set HttpRequest and HttpResponse LPTA cookie so that the can b passed by servlet 4. DOES NOT SET THE CONTEXT for SAS communication for ej layer. S the ejb thinks the user is UNAUTHENTICATED and fails ServerSideAuthenticator - When use 1. Authenticates userid and password 2. DOES NOT Throws exception when authentication fails 3. DOES NOT Set HttpRequest and HttpResponse LPTA cookie s that the can be passed by servlet 4. Set context for for SAS communication for ejb layer So, with this being the case, i have to use 2 separate API t authenticate correctly and set the desired information to enabl J2E security framework. Right now I call ServerSideAuthenticato first the SSOAuthenticator. Seems kind of expensive to me and confusing Customer requests a fix for ServerSideAuthenticator for WAS 4.0 on AIX Whe ServerSideAuthentication fails to authenticate, it returns null credential. Not basic credentials. Second, a client ma use ServerSideAuthenitcate for authentication purpose only They may never go to a secure resource (like ejb) after that Or my ejb may not be secure....I know that the ejb containe will through the error because the user is UNAUTHENTICATED This is not new to us developers, however WAS is relying on the Ejb Serve Container (security mechanism) to throw the error for simple WA authentication...Not authorization...this is not correct Local Fix: non Logically Dependent Apars: Users Affected: WebSphere Application Server users who uses ServerSideAuthentic tor to perform authentication Problem Description: ServerSideAuthenticator should throw LoginFailed when login f ils Recommendation: Problem Summary: ServerSideAuthenticator should thro org.omg.SecurityLevel2.LoginFailed exception when th login fails and the force_authn flag is true instead o returing a null credential Problem Conclusion: ServerSideAuthenticator will now thro org.omg.SecurityLevel2.LoginFailed exception when login fails Test Comments: Circumvention: Temporary Fix: Availabl Comments: APAR: PQ69036 Version: 400 Abstract: APPLYING 11/19 CUMULATIVE SECURITY EFIX ON WAS 4.0.4 CAUSE SECJ0129A AUTHORIZATION FAILURE THAT DIDN'T OCCUR BEFORE EFI Error Description: Environnment WebSphere Application Server (WAS) 4.0.4 A LDAP serve Description After applying the 11/19/2002 cumulative security eFix customer starts getting the following exception in the stdou file that didn't occur before the cumulative security efix wa applied 12/5/02 10:29:02:301 CST 6e93ebd8 WebCollaborat A SECJ0129A Authorization failed for while invoking POST o default_host:, Authorization failed, No granted any of the required roles: nested diagnostic contextsPattern Language of Program Design 3" edited by Martin et al

A Nested Diagnostic Context, or NDC in short, is a instrument to distinguish interleaved log output from differen sources This problem applies to all EJBs that will track caller an being invoked from init() method of servlets Local Fix: Non Logically Dependent Apars: Users Affected: WebSphere Application Server 4.0 security users who use progr mmatic security Problem Description: If the anonymous principal is propagated or the user i entity is missing, getCallerPrincipal() returns inconsista t results Recommendation: Problem Summary: getCallerPrincipal() returns different results in differen timing if the anonymous principal is propagated or calle identity is missing. EJB 1.2 spec define tha getCallerPrincipal() should always return container specifi unauthenticated principal Problem Conclusion: getCallerPrincipal() should return "UNAUTHENTICATED", th WebSphere specific unauthenticated principal, if calle identity is missing or the anonymous principal i propagated Test Comments: Circumvention: Temporary Fix: send testing eFix to customer Comments: APAR: PQ67473 Version: 400 Abstract: % SIGN IN THE USER CREDENTIALS IS CORRUPTED WHEN PASSE THROUGHTHE GETUSERPRINCIPAL CLAS Error Description: custom tion Description Form based security usin er uses is a \242 (cent sign). When passed to getUserPrincipal .ustomer programmatically checks security wit user name goes in as usercompany, and comes back from th .etUserPrincipal API. For business reasons, customer uses method as usercompany. This worked unde .egistry to store usernames as