Skip to content

Commit b22077c

Browse files
committed
Hardcoded credentials in CouchBase
1 parent 359a28e commit b22077c

File tree

12 files changed

+319
-1
lines changed

12 files changed

+319
-1
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/java-all
4+
extensible: sinkModel
5+
data:
6+
- ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKey", "(PrivateKey,String,List)", "", "Argument[0]", "credentials-key", "manual"]
7+
- ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKey", "(PrivateKey,String,List)", "", "Argument[1]", "credentials-password", "manual"]
8+
- ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKeyStore", "(Path,String,Optional<String>)", "", "Argument[1]", "credentials-password", "manual"]
9+
- ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKeyStore", "(KeyStore,String)", "", "Argument[1]", "credentials-password", "manual"]
10+
- ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "username", "(String)", "", "Argument[0]", "credentials-username", "manual"]
11+
- ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "username", "(Supplier<String>)", "", "Argument[0]", "credentials-username", "manual"]
12+
- ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "password", "(String)", "", "Argument[0]", "credentials-password", "manual"]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/java-all
4+
extensible: sinkModel
5+
data:
6+
- ["com.couchbase.client.java","ClusterOptions",true,"clusterOptions","(String,String)","","Argument[0]","credentials-username","manual"]
7+
- ["com.couchbase.client.java","ClusterOptions",true,"clusterOptions","(String,String)","","Argument[1]","credentials-password","manual"]
8+
- ["com.couchbase.client.java","Cluster",true,"connect","(String,String,String)","","Argument[1]","credentials-username","manual"]
9+
- ["com.couchbase.client.java","Cluster",true,"connect","(String,String,String)","","Argument[2]","credentials-password","manual"]
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import static com.couchbase.client.java.ClusterOptions.clusterOptions;
2+
3+
import com.couchbase.client.core.env.Authenticator;
4+
import com.couchbase.client.core.env.CertificateAuthenticator;
5+
import com.couchbase.client.core.env.PasswordAuthenticator;
6+
import com.couchbase.client.java.Cluster;
7+
8+
public class HardcodedCouchBaseCredentials {
9+
public static void test() {
10+
Cluster cluster1 =
11+
Cluster.connect(
12+
"127.0.0.1",
13+
"Administrator", // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
14+
"password"); // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
15+
Cluster cluster2 =
16+
Cluster.connect(
17+
"127.0.0.1",
18+
clusterOptions(
19+
"Administrator", // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
20+
"password")); // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
21+
PasswordAuthenticator authenticator1 =
22+
PasswordAuthenticator.builder()
23+
.username(
24+
"Administrator") // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
25+
.password("password") // $ HardcodedCredentialsApiCall $ HardcodedCredentialsSourceCall
26+
.onlyEnablePlainSaslMechanism()
27+
.build();
28+
29+
Authenticator authenticator2 =
30+
CertificateAuthenticator.fromKeyStore(
31+
null,
32+
"keyStorePassword"); // $ HardcodedCredentialsApiCall
33+
Cluster cluster = Cluster.connect("127.0.0.1", clusterOptions(authenticator2));
34+
}
35+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/amazon-aws-sdk-1.11.700:${testdir}/../../../../../stubs/azure-sdk-for-java:${testdir}/../../../../../stubs/shiro-core-1.4.0:${testdir}/../../../../../stubs/jsch-0.1.55:${testdir}/../../../../../stubs/ganymed-ssh-2-260:${testdir}/../../../../../stubs/apache-mina-sshd-2.8.0:${testdir}/../../../../../stubs/sshj-0.33.0:${testdir}/../../../../../stubs/j2ssh-1.5.5:${testdir}/../../../../../stubs/trilead-ssh2-212:${testdir}/../../../../../stubs/apache-commons-net-3.8.0:${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/mssql-jdbc-12.2.0:${testdir}/../../../../../stubs/auth0-jwt-2.3
1+
// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/amazon-aws-sdk-1.11.700:${testdir}/../../../../../stubs/azure-sdk-for-java:${testdir}/../../../../../stubs/shiro-core-1.4.0:${testdir}/../../../../../stubs/jsch-0.1.55:${testdir}/../../../../../stubs/ganymed-ssh-2-260:${testdir}/../../../../../stubs/apache-mina-sshd-2.8.0:${testdir}/../../../../../stubs/sshj-0.33.0:${testdir}/../../../../../stubs/j2ssh-1.5.5:${testdir}/../../../../../stubs/trilead-ssh2-212:${testdir}/../../../../../stubs/apache-commons-net-3.8.0:${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/mssql-jdbc-12.2.0:${testdir}/../../../../../stubs/auth0-jwt-2.3

java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/Authenticator.java

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/CertificateAuthenticator.java

Lines changed: 42 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/PasswordAuthenticator.java

Lines changed: 65 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/SeedNode.java

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/UsernameAndPassword.java

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/AsyncCluster.java

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)