MarkLee131
c336a1595d
Java: split read-only path sinks into path-injection[read]
...
Introduce a new Models-as-Data sink sub-kind path-injection[read] for
models that only read from or inspect a path. The general
java/path-injection query and its PathInjectionSanitizer barrier
continue to consider both path-injection and path-injection[read]
sinks, so no alerts are lost. The java/zipslip query deliberately
selects only path-injection sinks, since read-only accesses such as
ClassLoader.getResource or FileInputStream are outside the archive
extraction threat model.
Addresses https://github.com/github/codeql/issues/21606 along the lines
proposed on the issue thread: prefer path-injection[read] over a
[create] sub-kind so that miscategorizing a sink causes a false
positive (easy to spot) rather than a false negative.
- shared/mad/codeql/mad/ModelValidation.qll: allow path-injection[...]
as a valid sink kind.
- java/ql/lib/ext/*.model.yml: relabel the models that PR #12916
migrated from the historical read-file kind (plus the newer
ClassLoader resource-lookup variants that share the same read-only
semantics).
- java/ql/lib/semmle/code/java/security/TaintedPathQuery.qll and
PathSanitizer.qll: select both path-injection and
path-injection[read] sinks/barriers.
- java/ql/lib/semmle/code/java/security/ZipSlipQuery.qll: keep only
path-injection, with a comment explaining why path-injection[read]
is excluded.
- java/ql/test/query-tests/security/CWE-022/semmle/tests/ZipTest.java:
add m7 regression covering the Dubbo-style classpath lookup from
issue #21606 and assert no alert is produced.
- Update TaintedPath.expected for the renamed kinds in the models list.
- Add change-notes under java/ql/lib/change-notes and
java/ql/src/change-notes.
2026-04-21 09:17:36 +10:00
..
2024-11-11 10:08:45 +01:00
2024-10-21 15:19:45 +02:00
2024-02-06 12:54:29 +00:00
2023-05-31 15:49:07 -04:00
2023-05-31 15:49:06 -04:00
2023-08-23 13:24:55 +02:00
2023-03-20 10:14:20 +01:00
2024-03-11 10:31:51 -04:00
2022-12-14 13:48:31 +01:00
2023-05-31 15:49:06 -04:00
2023-07-10 17:40:16 +02:00
2023-06-01 12:25:25 -04:00
2024-01-23 09:51:41 +00:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:49:07 -04:00
2023-10-25 14:31:55 -04:00
2022-12-14 13:48:31 +01:00
2025-07-16 14:42:07 +01:00
2023-06-06 16:38:31 +02:00
2023-10-24 17:42:03 +02:00
2023-06-13 16:50:58 +02:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2025-07-16 14:42:07 +01:00
2025-07-16 14:42:07 +01:00
2025-07-16 14:42:07 +01:00
2026-01-14 12:32:42 +01:00
2026-01-13 21:48:43 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2025-07-16 14:42:07 +01:00
2022-12-14 13:48:31 +01:00
2024-01-25 10:00:56 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-08-23 13:24:55 +02:00
2023-05-31 15:49:06 -04:00
2026-04-21 09:17:36 +10:00
2024-01-08 13:15:38 -08:00
2023-05-31 15:49:06 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-05-31 15:49:06 -04:00
2023-10-25 14:31:56 -04:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-08-23 13:24:55 +02:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2026-04-21 09:17:36 +10:00
2023-10-25 14:31:56 -04:00
2023-05-31 15:49:07 -04:00
2023-05-31 15:50:31 -04:00
2025-12-11 16:24:26 +01:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:50:31 -04:00
2023-10-31 16:52:02 +01:00
2023-05-31 15:49:07 -04:00
2026-04-21 09:17:36 +10:00
2026-04-21 09:17:36 +10:00
2023-04-13 09:21:06 +02:00
2023-04-13 09:21:06 +02:00
2026-04-21 09:17:36 +10:00
2023-05-31 15:49:07 -04:00
2026-04-21 09:17:36 +10:00
2026-04-21 09:17:36 +10:00
2023-05-04 16:52:40 -04:00
2023-05-31 15:50:31 -04:00
2023-03-23 14:37:32 +00:00
2023-05-31 15:50:31 -04:00
2023-03-23 14:37:30 +00:00
2023-03-23 14:37:32 +00:00
2023-03-23 14:37:32 +00:00
2023-05-31 15:50:31 -04:00
2026-04-21 09:17:36 +10:00
2023-03-23 14:37:32 +00:00
2023-03-23 14:37:32 +00:00
2026-04-21 09:17:36 +10:00
2026-04-21 09:17:36 +10:00
2023-04-13 09:21:06 +02:00
2023-05-31 15:50:31 -04:00
2023-03-23 14:37:32 +00:00
2024-03-27 20:39:34 -04:00
2023-08-07 11:52:23 +02:00
2024-03-13 22:48:57 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-10-24 17:42:03 +02:00
2023-12-19 14:58:07 +01:00
2025-11-12 15:02:42 +00:00
2025-08-14 16:10:49 -04:00
2023-05-31 15:50:31 -04:00
2022-12-14 13:48:31 +01:00
2023-10-17 11:51:55 +02:00
2023-08-07 11:52:23 +02:00
2024-01-23 09:28:13 +01:00
2025-07-16 14:42:07 +01:00
2026-04-21 09:17:36 +10:00
2023-05-08 16:18:59 +02:00
2026-04-21 09:17:36 +10:00
2023-04-13 09:21:06 +02:00
2023-05-08 16:18:59 +02:00
2025-09-08 12:55:19 +02:00
2023-05-08 16:18:59 +02:00
2024-01-31 11:28:10 +00:00
2026-03-05 12:03:21 +00:00
2023-06-08 10:51:48 +02:00
2023-05-08 16:18:59 +02:00
2026-04-21 09:17:36 +10:00
2023-05-26 18:55:13 -04:00
2024-11-11 10:08:45 +01:00
2024-08-27 13:28:05 +02:00
2024-08-27 13:28:05 +02:00
2023-12-11 11:18:40 -05:00
2023-10-25 14:31:55 -04:00
2024-03-01 16:05:28 +00:00
2024-05-22 10:29:54 +02:00
2023-05-08 16:18:59 +02:00
2024-05-22 10:29:54 +02:00
2024-05-22 10:29:54 +02:00
2024-05-22 10:29:54 +02:00
2023-05-08 16:18:59 +02:00
2023-05-08 16:18:59 +02:00
2023-05-08 16:18:59 +02:00
2023-05-08 16:18:59 +02:00
2024-08-28 16:15:09 +02:00
2026-01-26 12:40:15 +01:00
2024-03-14 08:56:23 +01:00
2025-12-11 16:24:29 +01:00
2024-10-23 09:29:15 +02:00
2026-03-05 12:03:21 +00:00
2023-05-31 15:50:31 -04:00
2023-08-07 11:52:23 +02:00
2025-09-08 13:17:51 +02:00
2025-09-08 13:17:53 +02:00
2024-03-13 22:48:57 -04:00
2023-10-31 16:52:02 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2024-08-27 13:28:05 +02:00
2023-03-20 10:14:20 +01:00
2024-10-21 15:19:34 +02:00
2023-04-13 09:21:06 +02:00
2023-10-25 14:31:55 -04:00
2024-03-13 16:28:43 -04:00
2023-10-25 14:31:55 -04:00
2023-10-17 11:51:55 +02:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2025-11-12 15:02:42 +00:00
2026-04-21 09:17:36 +10:00
2023-10-25 14:31:55 -04:00
2022-12-14 13:48:31 +01:00
2023-05-31 15:50:31 -04:00
2022-12-14 13:48:31 +01:00
2023-05-31 15:49:07 -04:00
2023-08-07 11:52:23 +02:00
2023-05-31 15:49:07 -04:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:49:07 -04:00
2023-05-31 15:49:06 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2026-04-21 09:17:36 +10:00
2022-12-14 13:48:31 +01:00
2023-07-10 16:15:27 +02:00
2023-10-24 17:42:03 +02:00
2023-10-24 17:42:03 +02:00
2024-11-11 10:08:45 +01:00
2023-10-25 14:31:56 -04:00
2023-05-31 15:49:07 -04:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-06-09 13:48:16 +02:00
2023-06-06 16:38:31 +02:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-08-23 13:24:55 +02:00
2023-03-20 10:14:20 +01:00
2026-01-26 12:40:15 +01:00
2026-01-26 12:40:15 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2026-01-26 12:40:15 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-08-23 13:24:55 +02:00
2023-03-20 10:14:20 +01:00
2023-08-23 13:24:55 +02:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-04-13 09:21:06 +02:00
2024-01-08 09:38:42 -05:00
2024-01-08 09:38:42 -05:00
2024-01-08 09:38:42 -05:00
2025-11-12 15:10:29 +00:00
2025-11-12 15:10:29 +00:00
2023-04-13 09:21:06 +02:00
2026-04-21 09:17:36 +10:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-07-12 09:06:05 +02:00
2025-07-16 14:42:07 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2025-07-16 14:42:07 +01:00
2023-05-31 15:49:06 -04:00
2023-10-25 14:31:55 -04:00
2026-04-21 09:17:36 +10:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-08-25 11:17:51 +02:00
2023-05-31 15:49:07 -04:00
2024-02-09 09:21:30 +00:00
2024-01-31 11:28:10 +00:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-10-31 16:52:02 +01:00
2023-10-31 16:52:02 +01:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-26 18:55:13 -04:00
2023-04-13 10:11:31 -04:00
2023-04-13 10:11:31 -04:00
2023-05-31 15:50:31 -04:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:50:31 -04:00
2026-03-05 12:03:21 +00:00
2023-08-23 13:24:55 +02:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-04-13 10:11:31 -04:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-10-17 11:54:32 +02:00
2026-03-05 12:03:21 +00:00
2024-02-06 12:54:29 +00:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:50:31 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-05-31 15:49:07 -04:00
2023-05-31 15:49:06 -04:00
2023-10-24 17:42:03 +02:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2024-11-11 10:08:45 +01:00
2022-12-14 13:48:31 +01:00
2022-12-14 13:48:31 +01:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-08-17 13:05:37 -04:00
2023-08-17 13:05:37 -04:00
2026-04-21 09:17:36 +10:00
2026-04-21 09:17:36 +10:00
2023-04-13 09:21:06 +02:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2024-01-31 11:28:10 +00:00
2025-07-16 14:42:07 +01:00
2023-06-06 16:38:31 +02:00
2023-05-31 15:49:06 -04:00
2024-01-31 11:49:25 +00:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2025-07-16 14:42:07 +01:00
2023-08-23 13:24:55 +02:00
2025-07-16 14:42:07 +01:00
2023-08-23 13:24:55 +02:00
2024-03-13 22:48:57 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:49:06 -04:00
2023-03-20 10:14:20 +01:00
2023-10-24 17:42:03 +02:00
2023-06-14 12:34:52 +02:00
2023-04-13 09:21:06 +02:00
2026-04-21 09:17:36 +10:00
2023-06-14 12:34:52 +02:00
2024-03-13 16:28:41 -04:00
2024-07-18 17:41:06 -04:00
2024-07-18 17:41:00 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:07 -04:00
2025-12-11 16:24:26 +01:00
2023-12-13 11:15:27 +01:00
2023-12-13 11:15:27 +01:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:49:06 -04:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:50:31 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2024-11-11 10:08:45 +01:00
2022-12-14 13:48:31 +01:00
2023-10-23 16:06:11 +02:00
2023-05-31 15:49:06 -04:00
2023-05-31 15:51:07 -04:00
2023-05-31 15:50:31 -04:00
2023-05-31 15:49:06 -04:00
2022-12-14 13:48:31 +01:00
2023-05-31 15:49:07 -04:00
2022-12-14 13:48:31 +01:00
2023-10-25 14:31:55 -04:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2026-04-21 09:17:36 +10:00
2023-03-20 10:14:20 +01:00
2023-05-31 15:50:31 -04:00
2022-12-14 13:48:31 +01:00
2024-09-18 20:43:04 +02:00
2024-03-13 16:28:41 -04:00
2023-05-31 15:50:31 -04:00
2024-03-13 16:28:41 -04:00
2026-01-07 11:09:59 +00:00
2026-01-26 12:40:15 +01:00
2023-05-31 15:49:06 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-06-06 16:38:31 +02:00
2023-06-01 08:10:44 -04:00
2023-08-17 13:05:37 -04:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-08-03 10:04:06 +02:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2022-12-14 13:48:31 +01:00
2023-03-20 10:14:20 +01:00
2023-03-20 10:14:20 +01:00
2023-06-08 14:59:10 +02:00
2024-11-11 10:08:45 +01:00
2023-12-12 14:58:47 +01:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00
2023-10-25 14:31:55 -04:00