Skip to content

Commit b356c3c

Browse files
committed
Java: Manually model ZipFile (due to CWE-522 compression bombs test failure).
1 parent f537e04 commit b356c3c

File tree

5 files changed

+24
-26
lines changed

5 files changed

+24
-26
lines changed

java/ql/lib/ext/generated/java.lang.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ extensions:
7575
- ["java.lang", "Module", False, "getLayer", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
7676
- ["java.lang", "Module", False, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
7777
- ["java.lang", "Module", False, "getPackages", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
78-
- ["java.lang", "Module", False, "getResourceAsStream", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
78+
- ["java.lang", "Module", False, "getResourceAsStream", "(String)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
7979
- ["java.lang", "ModuleLayer$Controller", False, "addExports", "(Module,String,Module)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"]
8080
- ["java.lang", "ModuleLayer$Controller", False, "addOpens", "(Module,String,Module)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"]
8181
- ["java.lang", "ModuleLayer$Controller", False, "addReads", "(Module,Module)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"]

java/ql/lib/ext/generated/java.lang.module.model.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,8 @@ extensions:
7676
- ["java.lang.module", "ModuleFinder", True, "findAll", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
7777
- ["java.lang.module", "ModuleFinder", True, "of", "(Path[])", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "df-generated"]
7878
- ["java.lang.module", "ModuleReader", True, "list", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
79-
- ["java.lang.module", "ModuleReader", True, "open", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
80-
- ["java.lang.module", "ModuleReader", True, "open", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
81-
- ["java.lang.module", "ModuleReader", True, "read", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
82-
- ["java.lang.module", "ModuleReader", True, "read", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
79+
- ["java.lang.module", "ModuleReader", True, "open", "(String)", "", "Argument[0]", "ReturnValue.Element", "taint", "dfc-generated"]
80+
- ["java.lang.module", "ModuleReader", True, "read", "(String)", "", "Argument[0]", "ReturnValue.Element", "taint", "dfc-generated"]
8381
- ["java.lang.module", "ModuleReference", True, "descriptor", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
8482
- ["java.lang.module", "ModuleReference", True, "location", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
8583
- ["java.lang.module", "ModuleReference", True, "open", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]

java/ql/lib/ext/generated/java.util.jar.model.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ extensions:
2424
- ["java.util.jar", "JarEntry", True, "getCodeSigners", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
2525
- ["java.util.jar", "JarEntry", True, "getRealName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
2626
- ["java.util.jar", "JarException", True, "JarException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
27-
- ["java.util.jar", "JarFile", True, "JarFile", "(File)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
28-
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
29-
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
30-
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean,int,Runtime$Version)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
31-
- ["java.util.jar", "JarFile", True, "JarFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
32-
- ["java.util.jar", "JarFile", True, "JarFile", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
33-
- ["java.util.jar", "JarFile", True, "getJarEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
27+
- ["java.util.jar", "JarFile", True, "JarFile", "(File)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
28+
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
29+
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean,int)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
30+
- ["java.util.jar", "JarFile", True, "JarFile", "(File,boolean,int,Runtime$Version)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
31+
- ["java.util.jar", "JarFile", True, "JarFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
32+
- ["java.util.jar", "JarFile", True, "JarFile", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
33+
- ["java.util.jar", "JarFile", True, "getJarEntry", "(String)", "", "Argument[this]", "ReturnValue", "taint", "dfc-generated"]
3434
- ["java.util.jar", "JarFile", True, "getManifest", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
3535
- ["java.util.jar", "JarFile", True, "getVersion", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
36+
- ["java.util.jar", "JarFile", True, "versionedStream", "()", "", "Argument[this]", "ReturnValue", "taint", "dfc-generated"]
3637
- ["java.util.jar", "JarInputStream", True, "JarInputStream", "(InputStream)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
3738
- ["java.util.jar", "JarInputStream", True, "JarInputStream", "(InputStream,boolean)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
3839
- ["java.util.jar", "JarInputStream", True, "getManifest", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
@@ -52,11 +53,8 @@ extensions:
5253
- ["java.util.jar", "Attributes", "containsValue", "(Object)", "summary", "df-generated"]
5354
- ["java.util.jar", "JarEntry", "JarEntry", "(String)", "summary", "df-generated"]
5455
- ["java.util.jar", "JarFile", "baseVersion", "()", "summary", "df-generated"]
55-
- ["java.util.jar", "JarFile", "entries", "()", "summary", "df-generated"]
5656
- ["java.util.jar", "JarFile", "isMultiRelease", "()", "summary", "df-generated"]
5757
- ["java.util.jar", "JarFile", "runtimeVersion", "()", "summary", "df-generated"]
58-
- ["java.util.jar", "JarFile", "stream", "()", "summary", "df-generated"]
59-
- ["java.util.jar", "JarFile", "versionedStream", "()", "summary", "df-generated"]
6058
- ["java.util.jar", "Manifest", "Manifest", "(InputStream)", "summary", "df-generated"]
6159
- ["java.util.jar", "Manifest", "clear", "()", "summary", "df-generated"]
6260
- ["java.util.jar", "Manifest", "read", "(InputStream)", "summary", "df-generated"]

java/ql/lib/ext/generated/java.util.zip.model.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,6 @@ extensions:
6161
- ["java.util.zip", "ZipEntry", True, "setLastModifiedTime", "(FileTime)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"]
6262
- ["java.util.zip", "ZipError", True, "ZipError", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
6363
- ["java.util.zip", "ZipException", True, "ZipException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
64-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
65-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,Charset)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
66-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,int)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
67-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,int,Charset)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
68-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
69-
- ["java.util.zip", "ZipFile", True, "ZipFile", "(String,Charset)", "", "Argument[0]", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "taint", "dfc-generated"]
70-
- ["java.util.zip", "ZipFile", True, "getEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
71-
- ["java.util.zip", "ZipFile", True, "getName", "()", "", "Argument[this].SyntheticField[java.util.zip.ZipFile.name]", "ReturnValue", "value", "dfc-generated"]
7264
- ["java.util.zip", "ZipInputStream", True, "getNextEntry", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
7365
- ["java.util.zip", "ZipOutputStream", True, "ZipOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
7466
- ["java.util.zip", "ZipOutputStream", True, "ZipOutputStream", "(OutputStream,Charset)", "", "Argument[0]", "Argument[this]", "taint", "dfc-generated"]
@@ -162,10 +154,7 @@ extensions:
162154
- ["java.util.zip", "ZipEntry", "setSize", "(long)", "summary", "df-generated"]
163155
- ["java.util.zip", "ZipEntry", "setTime", "(long)", "summary", "df-generated"]
164156
- ["java.util.zip", "ZipEntry", "setTimeLocal", "(LocalDateTime)", "summary", "df-generated"]
165-
- ["java.util.zip", "ZipFile", "entries", "()", "summary", "df-generated"]
166-
- ["java.util.zip", "ZipFile", "getComment", "()", "summary", "df-generated"]
167157
- ["java.util.zip", "ZipFile", "size", "()", "summary", "df-generated"]
168-
- ["java.util.zip", "ZipFile", "stream", "()", "summary", "df-generated"]
169158
- ["java.util.zip", "ZipInputStream", "available", "()", "summary", "df-generated"]
170159
- ["java.util.zip", "ZipInputStream", "closeEntry", "()", "summary", "df-generated"]
171160
- ["java.util.zip", "ZipInputStream", "skip", "(long)", "summary", "df-generated"]

java/ql/lib/ext/java.util.zip.model.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,20 @@ extensions:
55
data:
66
- ["java.util.zip", "GZIPInputStream", False, "GZIPInputStream", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
77
- ["java.util.zip", "ZipEntry", True, "ZipEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "ai-manual"]
8+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
9+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,Charset)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
10+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,int)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
11+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(File,int,Charset)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
12+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
13+
- ["java.util.zip", "ZipFile", True, "ZipFile", "(String,Charset)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
14+
- ["java.util.zip", "ZipFile", True, "entries", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
15+
- ["java.util.zip", "ZipFile", True, "getComment", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
16+
- ["java.util.zip", "ZipFile", True, "getEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
17+
- ["java.util.zip", "ZipFile", True, "getEntry", "(String)", "", "Argument[this]", "ReturnValue", "taint", "manual"]
818
- ["java.util.zip", "ZipFile", True, "getInputStream", "(ZipEntry)", "", "Argument[0]", "ReturnValue", "taint", "ai-manual"]
19+
- ["java.util.zip", "ZipFile", True, "getInputStream", "(ZipEntry)", "", "Argument[this]", "ReturnValue", "taint", "manual"]
20+
- ["java.util.zip", "ZipFile", True, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
21+
- ["java.util.zip", "ZipFile", True, "stream", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
922
- ["java.util.zip", "ZipInputStream", False, "ZipInputStream", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
1023
- addsTo:
1124
pack: codeql/java-all

0 commit comments

Comments
 (0)