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
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
Anders Schack-Mulligen
0bd81eb4b8
Dataflow: Fix reference to viableCallable.
2020-06-29 16:22:58 +02: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
lcartey@github.com
f6b2accabd
Java: Model ResponseEntity.BodyBuilder
2020-06-16 09:50:35 +01:00
lcartey@github.com
e2cec582be
Java: XSS - ignore Spring sinks when content-type is safe.
...
Methods annotated with a produces field which indicates a safe
content-type should not be considered XSS sinks. For example:
@RequestMapping(..., produces = "application/json")
2020-06-16 09:50:35 +01:00
lcartey@github.com
f6a99cb42e
Java: Model produces parameter to RequestMapping attribute.
2020-06-16 09:50:34 +01:00
lcartey@github.com
8057dff368
Java: Add Spring XSS sinks
...
Look for Spring request methods which return a String value which may be
coerced into a text/html output.
2020-06-16 09:50:34 +01:00
lcartey@github.com
c59042f9c3
Java: Taint tracking through String.replace(all)?
2020-06-16 09:50:34 +01:00
lcartey@github.com
7d555a7467
Java: Track flow through HttpEntity and ResponseEntity
...
- Only track if the body is a String type, as that is the only type at
risk of XSS.
2020-06-16 09:50:33 +01:00
lcartey@github.com
1d1234093f
Java: Model Spring @ResponseBody methods.
2020-06-16 09:50:33 +01:00
lcartey@github.com
fd2cd6025d
Java: Modelling of the Spring HTTP classes.
2020-06-16 09:50:33 +01:00
lcartey@github.com
bfcc06dd0b
Java: Improve Spring controller modelling
...
- Identify ModelMaps correctly
- Add extra not tainted param types (Pageable)
- Identify ModelAttributes
2020-06-16 09:50:33 +01:00
lcartey@github.com
7c4251deac
Java: Add flow out of Map and List
2020-06-16 09:50:32 +01:00
lcartey@github.com
6de2b93f3a
Java: Add SpringWebRequest to RemoteTaintedMethod
2020-06-16 09:50:32 +01:00
lcartey@github.com
4300bc8088
Java: Update RemoteFlowSource to use improve Spring request parameter
...
mapping.
2020-06-16 09:50:31 +01:00
lcartey@github.com
f5dc0337ed
Java: Improve modelling of Spring request methods
...
- Recognise @<httpverb>Mapping as well as @RequestMapping.
- Identify tainted/not tainted parameters of RequestMapping methods.
2020-06-16 09:50:31 +01:00
Anders Schack-Mulligen
421a548e42
Update java/ql/src/semmle/code/java/Expr.qll
2020-06-12 09:24:37 +02:00
intrigus-lgtm
422b059aec
Fix typo
2020-06-11 22:54:13 +02:00
Anders Schack-Mulligen
c961a31789
Java: Add Expr.getAnEnclosingStmt.
2020-06-11 13:46:12 +02:00