Skip to content

Commit 4a387a2

Browse files
authored
Merge pull request #3634 from semgrep/kb/CODE-8527
case insensitive MD5 detection
2 parents c6adf14 + 2490786 commit 4a387a2

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

java/lang/security/audit/crypto/use-of-md5.fixed.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,20 @@ public byte[] bad1(String password) {
1111
}
1212

1313
public byte[] bad2(String password) {
14+
// ruleid: use-of-md5
15+
MessageDigest md5Digest = MessageDigest.getInstance("SHA-512");
16+
md5Digest.update(password.getBytes());
17+
byte[] hashValue = md5Digest.digest();
18+
return hashValue;
19+
}
20+
21+
public byte[] bad3(String password) {
1422
// ok: use-of-md5
1523
byte[] hashValue = DigestUtils.getMd5Digest().digest(password.getBytes());
1624
return hashValue;
1725
}
1826

19-
public void bad3() {
27+
public void bad4() {
2028
// ruleid: use-of-md5
2129
java.security.MessageDigest md = java.security.MessageDigest.getInstance("SHA-512");
2230
byte[] input = {(byte) '?'};

java/lang/security/audit/crypto/use-of-md5.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,20 @@ public byte[] bad1(String password) {
1111
}
1212

1313
public byte[] bad2(String password) {
14+
// ruleid: use-of-md5
15+
MessageDigest md5Digest = MessageDigest.getInstance("md5");
16+
md5Digest.update(password.getBytes());
17+
byte[] hashValue = md5Digest.digest();
18+
return hashValue;
19+
}
20+
21+
public byte[] bad3(String password) {
1422
// ok: use-of-md5
1523
byte[] hashValue = DigestUtils.getMd5Digest().digest(password.getBytes());
1624
return hashValue;
1725
}
1826

19-
public void bad3() {
27+
public void bad4() {
2028
// ruleid: use-of-md5
2129
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
2230
byte[] input = {(byte) '?'};

java/lang/security/audit/crypto/use-of-md5.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ rules:
3030
java.security.MessageDigest.getInstance($ALGO, ...);
3131
- metavariable-regex:
3232
metavariable: "$ALGO"
33-
regex: (.MD5.)
33+
regex: (?i)(.MD5.)
3434
- focus-metavariable: $ALGO
3535
fix: |
3636
"SHA-512"

0 commit comments

Comments
 (0)