Merge pull request #611 from aschackmull/java/usessl-fp-fix

Java: Fix FP in `UseSSL.ql`.
This commit is contained in:
yh-semmle 2018-12-04 19:31:53 -05:00 коммит произвёл GitHub
Родитель d05b11f00d d3fcfb0957
Коммит 00779c518c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 23 добавлений и 2 удалений

Просмотреть файл

@ -10,6 +10,7 @@
*/
import java
import semmle.code.java.dataflow.TypeFlow
import semmle.code.java.security.Encryption
class URLConnection extends RefType {
@ -27,11 +28,15 @@ from MethodAccess m, Class c, string type
where
m.getQualifier().getType() = c and
(
(c instanceof URLConnection and type = "connection")
c instanceof URLConnection and type = "connection"
or
(c instanceof Socket and type = "socket")
c instanceof Socket and type = "socket"
) and
not c instanceof SSLClass and
not exists(RefType t |
exprTypeFlow(m.getQualifier(), t, _) and
t instanceof SSLClass
) and
(
m.getMethod().getName() = "getInputStream" or
m.getMethod().getName() = "getOutputStream"

Просмотреть файл

@ -0,0 +1,14 @@
import java.net.HttpURLConnection;
import javax.net.ssl.HttpsURLConnection;
import java.io.*;
class Test {
public void m1(HttpURLConnection connection) {
InputStream input;
if (connection instanceof HttpsURLConnection) {
input = connection.getInputStream(); // OK
} else {
input = connection.getInputStream(); // BAD
}
}
}

Просмотреть файл

@ -0,0 +1 @@
| Test.java:11:15:11:41 | getInputStream(...) | Stream using vulnerable non-SSL connection. |

Просмотреть файл

@ -0,0 +1 @@
Security/CWE/CWE-319/UseSSL.ql