AJP implementation in Tomcat is vulnerable to CVE-2020-1938 if used without shared secret. Set up a shared secret between localhost connector and Apache mod_proxy_ajp pass-through.
For existing secured AJP pass-through make sure the option used for configuration on the tomcat side is up to date. Tomcat 9.0.31.0 deprecated 'requiredSecret' option name in favor of 'secret'. Details can be found at https://tomcat.apache.org/migration-9.html#Upgrading_9.0.x
CVE-2020-1938: https://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.31
PR: https://github.com/freeipa/freeipa/pull/4337
Metadata Update from @abbra: - Issue assigned to abbra
Metadata Update from @abbra: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1812169 - Issue set to the milestone: FreeIPA 4.6
master:
ipa-4-8:
ipa-4-7:
ipa-4-6:
Metadata Update from @frenaud: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Hi! On RHEL-8.2 I tried to reinstall the replica using ipa-server-4.8.4-7.module+el8.2.0+6046+aaa49f96, not knowing it has this bug. My attempt failed with 'SEVERE: DBSubsystem: initialization failed: Unable to connect to LDAP server: Authentication failed' in /var/log/pki/pki-tomcat/ca/debug.2020-12-16.log. I've found this bug is fixed in ipa-server-4.8.0-13.module+el8.1.0+4923+c6efe041 and tried upgrading IPA on one of the remaining IPA replicas. It failed because of the same authentication failure. As a partial workaround I am starting now ipact with '--force --ignore-service-failures --skip-version-check'. Can I fix this authentication problem without destroying existing IPA servers and recreating from backups?
This does not sound like this problem at all. Please provide your debug log.
To have a new debug log I run 'systemctl restart pki-tomcatd@pki-tomcat.service. Journalctl for this service shows: Dec 18 12:22:24 ipa02.cs.umd.edu systemd[1]: Starting PKI Tomcat Server pki-tomcat... Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: Java virtual machine used: /usr/lib/jvm/jre-openjdk/bin/java Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: classpath used: /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/ant.jar:/usr/share/java/ant-launcher.jar:/usr/lib/jvm/java/lib/tools.jar Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: main class used: org.apache.catalina.startup.Bootstrap Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: flags used: -Dcom.redhat.fips=false Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: options used: -Dcatalina.base=/var/lib/pki/pki-tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/lib/pki/pki-tomcat/temp -Djava.util.logging.config.file=/var/lib/pki/> Dec 18 12:22:28 ipa02.cs.umd.edu server[458423]: arguments used: start Dec 18 12:22:28 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: pki.client: /usr/libexec/ipa/ipa-pki-wait-running:63: The subsystem in PKIConnection.init() has been deprecated (https://www.dogtagpki.org/wiki/PKI_10.8_Python_Changes). Dec 18 12:22:28 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Created connection http://ipa02.cs.umd.edu:8080/ca Dec 18 12:22:28 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Connection failed: HTTPConnectionPool(host='ipa02.cs.umd.edu', port=8080): Max retries exceeded with url: /ca/admin/ca/getStatus (Caused by NewConnectionError('<urll> Dec 18 12:22:30 ipa02.cs.umd.edu server[458423]: WARNING: Some of the specified [protocols] are not supported by the SSL engine and have been skipped: [[TLSv1, TLSv1.1]] Dec 18 12:22:31 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Connection failed: HTTPConnectionPool(host='ipa02.cs.umd.edu', port=8080): Read timed out. (read timeout=1.0) Dec 18 12:22:33 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Connection failed: HTTPConnectionPool(host='ipa02.cs.umd.edu', port=8080): Read timed out. (read timeout=1.0) Dec 18 12:22:35 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:35 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:35 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Connection failed: HTTPConnectionPool(host='ipa02.cs.umd.edu', port=8080): Read timed out. (read timeout=1.0) Dec 18 12:22:36 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:36 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:37 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:37 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:38 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:38 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:39 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:39 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:40 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:40 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:41 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:41 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:42 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:42 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:43 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:43 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:44 ipa02.cs.umd.edu ipa-pki-wait-running[458424]: ipa-pki-wait-running: Request failed unexpectedly, 500 Server Error: for url: http://ipa02.cs.umd.edu:8080/ca/admin/ca/getStatus Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: WARNING: Exception processing realm [com.netscape.cms.tomcat.ProxyRealm@2739945a] background process Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: javax.ws.rs.ServiceUnavailableException: CA subsystem unavailable. Check CA debug log. Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at com.netscape.cms.tomcat.ProxyRealm.validateRealm(ProxyRealm.java:81) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at com.netscape.cms.tomcat.ProxyRealm.backgroundProcess(ProxyRealm.java:143) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1137) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5566) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1353) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1357) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1335) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) Dec 18 12:22:44 ipa02.cs.umd.edu server[458423]: at java.lang.Thread.run(Thread.java:748) Dec 18 12:22:45 ipa02.cs.umd.edu server[458423]: SEVERE: CA subsystem unavailable. Check CA debug log.
And /var/log/pki/pki-tomcat/ca/debug.2020-12-18.log starts with: 2020-12-18 12:22:34 [main] INFO: Initializing CA subsystem 2020-12-18 12:22:34 [main] INFO: CMSEngine: initializing password stores 2020-12-18 12:22:34 [main] INFO: CMSEngine: initializing password store for internaldb 2020-12-18 12:22:34 [main] INFO: CMSEngine: initializing password store for replicationdb 2020-12-18 12:22:34 [main] INFO: PluginRegistry: Loading plugin registry from /var/lib/pki/pki-tomcat/conf/ca/registry.cfg 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - profile 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caEnrollImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caCACertEnrollImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caServerCertEnrollImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caUserCertEnrollImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - defaultPolicy 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - noDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - genericExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - autoAssignDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - validityDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - randomizedValidityDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caValidityDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectKeyIdentifierExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - authorityKeyIdentifierExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - basicConstraintsExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - keyUsageExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsCertTypeExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - extendedKeyUsageExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - ocspNoCheckExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - issuerAltNameExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectAltNameExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userSubjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - cmcUserSignedSubjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - signingAlgDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userKeyDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userValidityDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userExtensionDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userSigningAlgDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - authTokenSubjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectInfoAccessExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - authInfoAccessExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nscCommentExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - freshestCRLExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - crlDistributionPointsExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - policyConstraintsExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - policyMappingsExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nameConstraintsExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - certificateVersionDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - certificatePoliciesExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectDirAttributesExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - privateKeyPeriodExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - inhibitAnyPolicyExtDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - imageDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsTokenDeviceKeySubjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsTokenUserKeySubjectNameDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - authzRealmDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - commonNameToSANDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - sanToCNDefaultImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - constraintPolicy 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - noConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectNameConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - uniqueSubjectNameConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - userSubjectNameConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - cmcSharedTokenSubjectNameConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - cmcUserSignedSubjectNameConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - caValidityConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - validityConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - keyUsageExtConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsCertTypeExtConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - extendedKeyUsageExtConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - keyConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - basicConstraintsExtConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - extensionConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - signingAlgConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - uniqueKeyConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - renewGracePeriodConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - authzRealmConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - externalProcessConstraintImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - profileInput 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - cmcCertReqInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - certReqInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - keyGenInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - encKeyGenInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - signKeyGenInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - dualKeyGenInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectNameInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - submitterInfoInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - genericInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - fileSigningInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - imageInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectDNInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsNKeyCertReqInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsHKeyCertReqInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - serialNumRenewInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subjectAltNameExtInputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - profileOutput 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - certOutputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - cmmfOutputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - pkcs7OutputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - nsNKeyOutputImpl 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - profileUpdater 2020-12-18 12:22:34 [main] INFO: PluginRegistry: - subsystemGroupUpdaterImpl 2020-12-18 12:22:34 [main] INFO: CMSEngine: Initializing subsystems 2020-12-18 12:22:34 [main] INFO: CMSEngine: Initializing log subsystem 2020-12-18 12:22:34 [main] INFO: CMSEngine: Initializing jss subsystem 2020-12-18 12:22:34 [main] INFO: CMSEngine: Initializing dbs subsystem 2020-12-18 12:22:34 [main] SEVERE: LdapBoundConnFactory: Unable to connect to LDAP server: Authentication failed netscape.ldap.LDAPException: Authentication failed (48) at netscape.ldap.LDAPSaslBind.checkForSASLBindCompletion(Unknown Source) at netscape.ldap.LDAPSaslBind.bind(Unknown Source) at netscape.ldap.LDAPSaslBind.bind(Unknown Source) at netscape.ldap.LDAPConnection.authenticate(Unknown Source) at netscape.ldap.LDAPConnection.authenticate(Unknown Source) at netscape.ldap.LDAPConnection.checkClientAuth(Unknown Source) at netscape.ldap.LDAPConnection.connect(Unknown Source) at netscape.ldap.LDAPConnection.connect(Unknown Source) at netscape.ldap.LDAPConnection.connect(Unknown Source) at com.netscape.cmscore.ldapconn.LdapBoundConnection.<init>(LdapBoundConnection.java:105) at com.netscape.cmscore.ldapconn.LdapBoundConnFactory.makeConnection(LdapBoundConnFactory.java:285) at com.netscape.cmscore.ldapconn.LdapBoundConnFactory.init(LdapBoundConnFactory.java:261) at com.netscape.cmscore.ldapconn.LdapBoundConnFactory.init(LdapBoundConnFactory.java:224) at com.netscape.cmscore.ldapconn.LdapBoundConnFactory.init(LdapBoundConnFactory.java:193) at com.netscape.cmscore.dbs.DBSubsystem.init(DBSubsystem.java:661) at com.netscape.cmscore.apps.CMSEngine.initSubsystem(CMSEngine.java:807) at com.netscape.cmscore.apps.CMSEngine.initSubsystems(CMSEngine.java:782) at com.netscape.cmscore.apps.CMSEngine.initSubsystems(CMSEngine.java:773) at com.netscape.cmscore.apps.CMSEngine.init(CMSEngine.java:448) at com.netscape.cms.servlet.base.CMSStartServlet.init(CMSStartServlet.java:113) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:549) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:123) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1122) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4871) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5180) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:129) at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:150) at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:140) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:688) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1831) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:633) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Thanks. This issue is about HTTP connector between frontend and tomcat while your issue is LDAP connection inside Dogtag. The latter uses SSL certificate to authenticate to LDAP server. It most likely that you have RA certificate expired or the certificate in LDAP entry different to the one Dogtag uses to authenticate.
Please use freeipa-users@ mailing list to discuss your problem if you don't have RHEL subscription. Otherwise, please use Red Hat's support system to open a case.
As for freeipa-users@, just today there was a similar request and @frenaud already provided suggestions what to look at: https://lists.fedorahosted.org/archives/list/freeipa-users@lists.fedorahosted.org/thread/VVUBPGAOBQ6PEMR633Q7L54SD2VRNHPM/
Going back to the OP, my security scanner reports that CVE-2020-1938 after a fresh install of ipa-server 4.8.7 (Release: 12.module_el8.3.0+511+8a502f20) on Centos8.3.2011, specifically the tomcat v9.0.30 installed to /usr/share/tomcat/ . I believe it is installed by pki-servlet-4.0-api-9.0.30-1
@abbra , should I understand this code change to mean that while the version of tomcat may exhibit that CVE, my server is not vulnerable to it because of the way it uses the AJP connector?
Alternatively, any advice on what I'd need to do to get a different version of tomcat...
Thank you, and apologies if this is not the right place to ask about this change.
IPA mitigates this in two ways:
You can verify by checking the connector configuration. If connector details have a secret set, the cve is mitigated. This is default for IPA in CentOS 8.3
Login to comment on this ticket.