{"id":"UBUNTU-CVE-2026-115448","details":"Uncontrolled recursion in Apache ZooKeeper. The server serializes its data tree to a snapshot by recursing one stack frame per znode level, with no depth bound. A client permitted to create znodes (the default root ACL is open) can build a chain of nested znodes deep enough that taking a snapshot exhausts the JVM stack and kills the snapshot thread; sizes stay within jute.maxbuffer, so existing limits do not prevent it. This is a denial of service that becomes persistent: on restart the server rebuilds the deep tree from its transaction log and fails again while taking the startup snapshot, so it does not return to service, and recovery can entail data loss. The same log affects a leader and its followers, so it can spread across an ensemble. This issue affects Apache ZooKeeper 3.8.0 through 3.8.7 and 3.9.0 through 3.9.6. Users are recommended to upgrade to 3.8.8 or 3.9.7, which fix the issue. As a workaround, use ACLs and authentication to restrict znode creation rather than relying on the default open root ACL.","modified":"2026-11-06T01:00:16.394802684Z","published":"2026-11-05T00:00:00Z","upstream":["CVE-2026-115448"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-115448"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-115448"},{"type":"REPORT","url":"https://lists.apache.org/thread.html/p892jm8qw0zqv8z152lpokyt7mp6gc41"},{"type":"REPORT","url":"http://www.openwall.com/lists/oss-security/2026/11/03/13"}],"affected":[{"package":{"name":"zookeeper","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.5+dfsg-1","3.4.5+dfsg-1ubuntu0.1~esm1","3.4.5+dfsg-1ubuntu0.1~esm3"],"ecosystem_specific":{"binaries":[{"binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3","binary_name":"libzookeeper-java"},{"binary_name":"libzookeeper-mt2","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"libzookeeper-st2","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"libzookeeper2","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"python-zookeeper","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"zookeeper","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"zookeeper-bin","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"},{"binary_name":"zookeeperd","binary_version":"3.4.5+dfsg-1ubuntu0.1~esm3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=esm-apps%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.6-8","3.4.7-1","3.4.8-1","3.4.8-1ubuntu0.1~esm1","3.4.8-1ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"3.4.8-1ubuntu0.1~esm2","binary_name":"libzookeeper-java"},{"binary_name":"libzookeeper-mt2","binary_version":"3.4.8-1ubuntu0.1~esm2"},{"binary_name":"libzookeeper-st2","binary_version":"3.4.8-1ubuntu0.1~esm2"},{"binary_name":"libzookeeper2","binary_version":"3.4.8-1ubuntu0.1~esm2"},{"binary_version":"3.4.8-1ubuntu0.1~esm2","binary_name":"python-zookeeper"},{"binary_name":"zookeeper","binary_version":"3.4.8-1ubuntu0.1~esm2"},{"binary_name":"zookeeper-bin","binary_version":"3.4.8-1ubuntu0.1~esm2"},{"binary_name":"zookeeperd","binary_version":"3.4.8-1ubuntu0.1~esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=esm-apps%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.10-2","3.4.10-3","3.4.13-3","3.4.13-3ubuntu0.1~esm1"],"ecosystem_specific":{"binaries":[{"binary_version":"3.4.13-3ubuntu0.1~esm1","binary_name":"libzookeeper-java"},{"binary_name":"libzookeeper-mt2","binary_version":"3.4.13-3ubuntu0.1~esm1"},{"binary_name":"libzookeeper-st2","binary_version":"3.4.13-3ubuntu0.1~esm1"},{"binary_name":"python-zookeeper","binary_version":"3.4.13-3ubuntu0.1~esm1"},{"binary_name":"zookeeper","binary_version":"3.4.13-3ubuntu0.1~esm1"},{"binary_name":"zookeeper-bin","binary_version":"3.4.13-3ubuntu0.1~esm1"},{"binary_name":"zookeeperd","binary_version":"3.4.13-3ubuntu0.1~esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.13-1","3.4.13-3","3.4.13-3build1","3.4.13-4","3.4.13-5","3.4.13-5build1","3.4.13-5ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libzookeeper-java","binary_version":"3.4.13-5ubuntu0.1"},{"binary_version":"3.4.13-5ubuntu0.1","binary_name":"libzookeeper-mt2"},{"binary_name":"libzookeeper-st2","binary_version":"3.4.13-5ubuntu0.1"},{"binary_name":"python3-zookeeper","binary_version":"3.4.13-5ubuntu0.1"},{"binary_name":"zookeeper","binary_version":"3.4.13-5ubuntu0.1"},{"binary_name":"zookeeper-bin","binary_version":"3.4.13-5ubuntu0.1"},{"binary_name":"zookeeperd","binary_version":"3.4.13-5ubuntu0.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.13-5ubuntu4","3.4.13-6ubuntu2","3.4.13-6ubuntu3","3.4.13-6ubuntu4","3.4.13-6ubuntu4.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libzookeeper-java","binary_version":"3.4.13-6ubuntu4.1"},{"binary_name":"libzookeeper-mt2","binary_version":"3.4.13-6ubuntu4.1"},{"binary_version":"3.4.13-6ubuntu4.1","binary_name":"libzookeeper-st2"},{"binary_name":"python3-zookeeper","binary_version":"3.4.13-6ubuntu4.1"},{"binary_name":"zookeeper","binary_version":"3.4.13-6ubuntu4.1"},{"binary_name":"zookeeper-bin","binary_version":"3.4.13-6ubuntu4.1"},{"binary_name":"zookeeperd","binary_version":"3.4.13-6ubuntu4.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.8.0-11","3.9.1-1","3.9.1-1build1","3.9.1-1build2"],"ecosystem_specific":{"binaries":[{"binary_name":"libzookeeper-java","binary_version":"3.9.1-1build2"},{"binary_version":"3.9.1-1build2","binary_name":"libzookeeper-mt2"},{"binary_name":"libzookeeper-st2","binary_version":"3.9.1-1build2"},{"binary_name":"python3-zookeeper","binary_version":"3.9.1-1build2"},{"binary_name":"zookeeper","binary_version":"3.9.1-1build2"},{"binary_name":"zookeeper-bin","binary_version":"3.9.1-1build2"},{"binary_name":"zookeeperd","binary_version":"3.9.1-1build2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.5-1","3.9.5-2"],"ecosystem_specific":{"binaries":[{"binary_name":"libzookeeper-java","binary_version":"3.9.5-2"},{"binary_version":"3.9.5-2","binary_name":"libzookeeper-mt2"},{"binary_version":"3.9.5-2","binary_name":"libzookeeper-st2"},{"binary_version":"3.9.5-2","binary_name":"python3-zookeeper"},{"binary_name":"zookeeper","binary_version":"3.9.5-2"},{"binary_name":"zookeeper-bin","binary_version":"3.9.5-2"},{"binary_name":"zookeeperd","binary_version":"3.9.5-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}},{"package":{"name":"zookeeper","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/zookeeper?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.3-1build2","3.9.3-1build3","3.9.4-1","3.9.5-1"],"ecosystem_specific":{"binaries":[{"binary_name":"libzookeeper-java","binary_version":"3.9.5-1"},{"binary_name":"libzookeeper-mt2","binary_version":"3.9.5-1"},{"binary_name":"libzookeeper-st2","binary_version":"3.9.5-1"},{"binary_version":"3.9.5-1","binary_name":"python3-zookeeper"},{"binary_name":"zookeeper","binary_version":"3.9.5-1"},{"binary_name":"zookeeper-bin","binary_version":"3.9.5-1"},{"binary_name":"zookeeperd","binary_version":"3.9.5-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-115448.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}