Diego Rivera created ZOOKEEPER-5030:
---------------------------------------

             Summary: ZooKeeper client lib 3.9.5 now apparently requires JAAS 
(SASL?) to be configured for client connections?
                 Key: ZOOKEEPER-5030
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-5030
             Project: ZooKeeper
          Issue Type: Bug
          Components: java client
    Affects Versions: 3.9.5
         Environment: Containerized environment, also fails similarly on VMs 
and baremetal.
            Reporter: Diego Rivera


Upon upgrading Artemis's 2.52.0 ZooKeeper library from 3.9.4 to 3.9.5 in order 
to resolve CVE-2026-24281 and CVE-2026-24308, suddenly the Artemis instances 
would not boot up, failing with this error:

{noformat}
2026-03-18 20:22:11,928 INFO  [org.apache.zookeeper.ZooKeeper] Initiating 
client connection, connectString=arkcase-zookeeper-0.zookeeper-dns:2181 
sessionTimeout=2000 watcher=org.apache.curator.ConnectionState@2dddc1b9
2026-03-18 20:22:11,930 INFO  [org.apache.zookeeper.common.X509Util] Setting -D 
jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS 
renegotiation
2026-03-18 20:22:11,980 INFO  [org.apache.zookeeper.common.X509Util] Default 
TLS protocol is TLSv1.3, supported TLS protocols are [TLSv1.3, TLSv1.2, 
TLSv1.1, TLSv1, SSLv3, SSLv2Hello]
2026-03-18 20:22:12,003 INFO  [org.apache.zookeeper.ClientCnxnSocket] 
jute.maxbuffer value is 1048575 Bytes
2026-03-18 20:22:12,006 INFO  [org.apache.zookeeper.ClientCnxn] 
zookeeper.request.timeout value is 0. feature enabled=false
2026-03-18 20:22:12,009 DEBUG [org.apache.zookeeper.SaslServerPrincipal] 
Canonicalized address to 
arkcase-zookeeper-0.zookeeper-dns.default.svc.cluster.local
2026-03-18 20:22:12,009 INFO  
[org.apache.curator.framework.imps.CuratorFrameworkImpl] Default schema
2026-03-18 20:22:12,010 WARN  [org.apache.zookeeper.ClientCnxn] SASL 
configuration failed. Will continue connection to Zookeeper server without SASL 
authentication, if Zookeeper server allows it.
javax.security.auth.login.LoginException: No JAAS configuration section named 
'Client' was found in specified JAAS configuration file: 
'/app/conf/login.config'.
        at 
org.apache.zookeeper.client.ZooKeeperSaslClient.<init>(ZooKeeperSaslClient.java:192)
        at 
org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1150)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1200)
2026-03-18 20:22:12,010 INFO  [org.apache.zookeeper.ClientCnxn] Opening socket 
connection to server arkcase-zookeeper-0.zookeeper-dns/10.98.84.41:2181.
2026-03-18 20:22:12,011 ERROR [org.apache.curator.ConnectionState] 
Authentication failed
{noformat}

The ZooKeeper cluster is NOT (yet) configured to require any sort of 
authentication beyond mTLS, and other clients with older ZooKeeper libraries 
(3.9.4, 3.9.3, 3.8.6) can connect to it quite happily.

So the question is: why is the ZooKeeper client JAR now requiring the use of 
SASL to connect to the server if this is not being explicitly configured?  I've 
double-and-triple-checked the configuration and there's no explicit setting of 
the value zookeeper.sasl.clientconfig anywhere. In fact - it's looking for the 
default value of "Client".

Any ideas of what could be going on here? Why does the 3.9.5 client require 
authentication that wasn't required before?

Cheers.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to