lcartey@github.com
b242a61701
Java: Untrusted data used in external APIs
...
This commit adds two queries for identifying external APIs which are
used with untrusted data.
These queries are intended to facilitate a security review of the
application, and will report any external API which is called with
untrusted data. The purpose of this is to:
- review how untrusted data flows through this application
- identify opportunities to improve taint modeling of sinks and taint
steps.
As a result this is not suitable for integration into a developer
workflow, as it will likely have high false positive rate, but it may
help identify false negatives for other queries.
2020-07-03 17:32:08 +01:00
Arthur Baars
0b89efbee4
Java: model Arrays::addList
2020-07-03 17:15:17 +02:00
Arthur Baars
a07af79fff
Java: model java.util.Arrays
2020-07-03 17:15:17 +02:00
Arthur Baars
1485f7c876
Java: model some new Set,List,Map methods
...
Models the taint propagation for the copyOf(..),
of(..), ofEntries(..) and entry(..) methods
2020-07-03 17:14:53 +02:00
Arthur Baars
c629f6b13a
Merge pull request #3869 from aibaars/util-collections
...
Java: model java.util.Collections
2020-07-03 17:09:14 +02:00
Arthur Baars
5fff41f35b
Don't track taint on Map keys
2020-07-03 14:47:25 +02:00
Anders Schack-Mulligen
6de612a566
Java: Split SpringWebRequestGetMethod into its own class.
2020-07-03 14:06:54 +02:00
Arthur Baars
21a4b8d6c0
Java: remove useless casts
2020-07-02 13:03:15 +02:00
Arthur Baars
d80bf3395f
Add Navigable variants and sort method names
2020-07-02 13:02:38 +02:00
Arthur Baars
e7b495e7d3
Java: model Collections::addAll
2020-07-02 12:38:22 +02:00
Arthur Baars
5cf5c77b09
Java: model java.util.Collections
2020-07-02 12:25:55 +02:00
Anders Schack-Mulligen
7d057598d8
Merge pull request #3857 from jbj/flowthrough-bigstep-perf
...
C++: Remove big-step relation in flow-through code
2020-07-01 14:23:23 +02:00
Anders Schack-Mulligen
38b73ff684
Merge pull request #3854 from hvitved/dataflow/node-type-interface
...
Data flow: Replace `getErasedRepr()` and `Node::getTypeBound()` with `getNodeType()`
2020-07-01 11:37:19 +02:00
Jonas Jensen
cff0f48d34
C++: Work around join-order issue in flow-through
...
In this non-linear recursion, a `#prev` relation was joined earlier than
the `#prev_delta` relation. As a result, each iteration of the predicate
processes every tuple from previous iterations.
This quadratic behavior caused severe slowdowns on oneapi-src/oneDNN.
2020-06-30 21:12:57 +02:00
Jonas Jensen
17beb2d867
C++: Remove big-step relation in flow-through code
...
This relation was originally introduced to improve performance but may
no longer be necessary. The `localFlowStepPlus` predicate had an
explosion of tuples on oneapi-src/oneDNN for C++.
2020-06-30 21:06:45 +02:00
Jonathan Leitschuh
fa8b278332
Add jOOQ methods as SQL Injection Sinks
2020-06-30 11:57:17 -04:00
Mathias Vorreiter Pedersen
286c09183f
Merge pull request #3837 from geoffw0/qldoc5
...
C++/Java: Update QLDoc and terminology in Encryption.qll
2020-06-30 17:44:59 +02:00
Tom Hvitved
f1179cc202
Java: Follow-up changes
2020-06-30 17:44:16 +02:00
Tom Hvitved
1fa58bd82d
Data flow: Sync files
2020-06-30 17:37:16 +02:00
Geoffrey White
5c11c9ee43
Java: Rename additional private predicates.
2020-06-30 13:05:46 +01:00
Geoffrey White
f8425b8a58
Java: Update uses.
2020-06-30 13:02:48 +01:00
Geoffrey White
db0500b9ef
Java: Direct port of changes to Java.
2020-06-30 13:02:48 +01:00
luchua-bc
382e5a5a7a
Revert "Add remote source of Android intent extra"
...
This reverts commit 65e76ab18f .
2020-06-30 00:55:05 +00:00
luchua-bc
3e8e9f9969
Revert "Add method access qualifier as source"
...
This reverts commit 87668bf075 .
2020-06-30 00:54:27 +00:00
luchua-bc
065b90ab6b
Revert "text changes"
...
This reverts commit 0f8dd7c328 .
2020-06-30 00:53:03 +00:00
Anders Schack-Mulligen
0bd81eb4b8
Dataflow: Fix reference to viableCallable.
2020-06-29 16:22:58 +02:00
luchua-bc
0f8dd7c328
text changes
2020-06-27 22:56:00 +00:00
Bt2018
87668bf075
Add method access qualifier as source
2020-06-27 18:00:52 -04:00
luchua-bc
65e76ab18f
Add remote source of Android intent extra
2020-06-25 20:20:18 +00:00
Anders Schack-Mulligen
6c679c328d
Dataflow: Refactor dispatch with call context.
2020-06-25 14:28:35 +02:00
Anders Schack-Mulligen
941177ee25
Merge pull request #3762 from hvitved/dataflow/clear-contents
...
Data flow: Model field clearing
2020-06-24 10:19:50 +02:00
Tom Hvitved
a3e7fd60f2
Data flow: Enable syntax highlighting in QLDoc snippets
2020-06-23 16:54:34 +02:00
Tom Hvitved
ff751ac0f8
Data flow: Sync files
2020-06-23 10:55:12 +02:00
Tom Hvitved
c01f570d9e
Java: Implement clearsContent()
2020-06-23 10:55:12 +02:00
Tom Hvitved
c057e82efa
Data flow: Sync files
2020-06-23 10:55:11 +02:00
Tom Hvitved
72e6c9c2b1
Data flow: Use accessPathLimit() in partial flow as well
2020-06-22 10:08:51 +02:00
Anders Schack-Mulligen
8107fbadc2
Merge pull request #3456 from hvitved/dataflow/precise-field-types
...
Data flow: Track precise types during field flow
2020-06-19 11:50:10 +02:00
Anders Schack-Mulligen
74eab3cbc0
Dataflow: Fix qltest.
2020-06-17 17:23:35 +02:00
Anders Schack-Mulligen
cedfaf6aaf
Dataflow: autoformat
2020-06-17 17:09:55 +02:00
Anders Schack-Mulligen
543ab71dfe
Dataflow: minor review fixes.
2020-06-17 17:03:22 +02:00
Anders Schack-Mulligen
d28b5ace63
Dataflow: Sync.
2020-06-17 15:40:48 +02:00
Anders Schack-Mulligen
10b64fc47a
Dataflow: Record content type for stores.
2020-06-17 15:40:42 +02:00
lcartey@github.com
2978af34cd
Java: Add RestTemplate as flow source.
2020-06-16 09:50:37 +01:00
lcartey@github.com
f2edc53144
Java: Add Spring RestTemplate return values to untrusted data types
...
- Also improve unwrapping of lists/arrays/maps etc.
2020-06-16 09:50:37 +01:00
lcartey@github.com
9625e82afd
Java: Model Spring WebClients/RestTemplates.
2020-06-16 09:50:37 +01:00
lcartey@github.com
cd6339f5cd
Java: Add Spring flow out of HttpEntity and HttpHeader
2020-06-16 09:50:36 +01:00
lcartey@github.com
93c28d4c03
Java: Add taint step to flow through Spring tainted user data class
...
getters.
2020-06-16 09:50:36 +01:00
lcartey@github.com
8678d5fc6f
Java: Model untrusted user data types
...
Model the datatypes that may be populated on demand from request
parameters.
2020-06-16 09:50:36 +01:00
lcartey@github.com
8bd5f748b4
Java: SpringController - handle non-string literal produces values.
2020-06-16 09:50:36 +01:00
lcartey@github.com
0db7cead31
Java: Model taint flow through ResponseEntity.
2020-06-16 09:50:35 +01:00