github / github/codeql

False positive on "Query built by concatenation with a possibly-untrusted string" - "java/concatenated-sql-query"

Open
#16,984 1 comment 0 reactions 0 assignees View on GitHub
false-positive
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

False positive on `Query built by concatenation with a possibly-untrusted string` - `java/concatenated-sql-query`
* https://github.com/github/codeql/blob/ff0c1ca2d6401e63914f20b650b49c2b82cac148/java/ql/src/Security/CWE/CWE-089/SqlConcatenated.ql

We have a constant value from enum
```
public enum CommentType {

REVIEW_SIMPLE_COMMENT("comment.review.simple"),
SIMPLE_COMMENT("comment.simple");

private final String type;

private CommentType(String type) {
this.type = type;
}

public String getType() {
return this.type;
}
}
```
Used in query
```
sql.append(" AND REVIEW_COMMENT.COMMENT_TYPE = '").append(CommentType.REVIEW_SIMPLE_COMMENT.getType()).append("') ");
```
And CodeQL is stating `Query built by concatenation with a possibly-untrusted string` in `CommentType.REVIEW_SIMPLE_COMMENT.getType()`. From my understanding the enum is immutable. Could you take a look?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.