[ https://issues.apache.org/jira/browse/ZOOKEEPER-4977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher Tubbs resolved ZOOKEEPER-4977. ------------------------------------------ Resolution: Not A Problem This is not a problem. The configuration is a test value for unit testing with maven-surefire-plugin, and has no impact on user configuration or deployments. This does not represent bad practice, but is the normal, acceptable, best practice way of setting test values for testing. > superDigest configuration found in embedded pom.xml within zookeeper-3.9.3.jar > ------------------------------------------------------------------------------ > > Key: ZOOKEEPER-4977 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4977 > Project: ZooKeeper > Issue Type: Bug > Components: security > Affects Versions: 3.9.3 > Reporter: zhangpeng > Priority: Critical > Labels: security > Attachments: 5F7DE753-B347-43A9-9B84-401BA743C4C1.png > > > {{superDigest}} configuration found in embedded {{pom.xml}} within > zookeeper-3.9.3.jar > > <zookeeper.DigestAuthenticationProvider.superDigest>super:D/InIHSb7yEEbrWz8b9l71RjZJU=</zookeeper.DigestAuthenticationProvider.superDigest> > > *Environment:* > * ZooKeeper Version: 3.9.3 (the official binary distribution from Maven > Central) > * JDK Version: N/A (discovered during static analysis of the JAR file) > * OS: N/A > *Problem Description:* > During a routine security audit of our application dependencies, we > discovered that the {{zookeeper-3.9.3.jar}} file contains its own {{pom.xml}} > file at the path > {{{}META-INF/maven/org.apache.zookeeper/zookeeper/pom.xml{}}}. This embedded > {{pom.xml}} file includes a property configuration for > {{zookeeper.DigestAuthenticationProvider.superDigest}} with a pre-defined > hash value. > *Steps to Reproduce:* > # Download the official {{org.apache.zookeeper:zookeeper:3.9.3}} JAR from > Maven Central. > # Extract the JAR file or use a tool ({{{}jar -tf{}}}, {{{}unzip -l{}}}, > IDE) to list its contents. > # Locate the file {{META-INF/maven/org.apache.zookeeper/zookeeper/pom.xml}} > inside the JAR. > # Inspect the content of this {{pom.xml}} file. On line 283 (or nearby), you > will find: > {{<zookeeper.DigestAuthenticationProvider.superDigest>super:D/InIHSb7yEEbrWz8b9l71RjZJU=</zookeeper.DigestAuthenticationProvider.superDigest>}} > *Expected Behavior:* > The published binary JAR artifacts should not contain any residual or testing > configuration files that include sensitive properties, especially those > related to security authentication like the superuser digest. The > build/packaging process should strip such elements from the final release > artifact. > *Actual Behavior:* > The released {{zookeeper-3.9.3.jar}} contains an embedded {{pom.xml}} which > includes a configured {{superDigest}} property. While this is a hash and not > a plaintext password, its presence in a widely distributed binary is a > potential security risk. > *Potential Risk:* > # *Information Disclosure:* This exposes a known credential hash, which > violates the principle of least surprise and could be used in conjunction > with other vulnerabilities (e.g., CVE-2014-085 - information disclosure in > logs). > # *Increased Attack Surface:* If an attacker gains access to the JAR file > (e.g., through a deployment leak), they extract this hash. Although SHA-1 > hashing is used, it could potentially be targeted for brute-force attacks if > the original password was weak, potentially granting superuser access to a > ZooKeeper ensemble. > # *Bad Practice:* The presence of this configuration, even if not activated > by default, sets a poor security precedent for users who might find it and > mistakenly use it without generating a new secure digest. > > !image-2025-09-15-16-00-33-152.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)