Taus
fe00d1cbf4
Merge pull request #2888 from RasmusWL/python-tarslip-sanitizer
...
Python: Improve tarslip sanitizer
2020-03-24 12:59:20 +01:00
semmle-qlci
4c9a6b73ee
Merge pull request #3107 from erik-krogh/FArgs
...
Approved by esbena
2020-03-24 08:32:56 +00:00
Asger F
a1e032bee6
Merge pull request #3098 from kyprizel/master
...
Experimental SockJS support
2020-03-23 22:39:10 +00:00
yo-h
d315864383
Merge pull request #3108 from aschackmull/java/finalizemethod
...
Java: Fixup FinalizeMethod definition.
2020-03-23 18:27:57 -04:00
kyprizel
dec1b8b070
Update javascript/ql/src/experimental/SockJS/SockJS.qll
...
Fix comments
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-03-23 22:59:48 +03:00
kyprizel
b90ff5e84d
Update javascript/ql/src/experimental/SockJS/SockJS.qll
...
do not import specific libs
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-03-23 22:59:23 +03:00
semmle-qlci
e5590091a0
Merge pull request #3109 from max-schaefer/js/performance-fixes
...
Approved by asgerf
2020-03-23 16:08:07 +00:00
Max Schaefer
55e7b22cdf
JavaScript: Autoformat.
2020-03-23 14:37:04 +00:00
kyprizel
49e5a22cab
Fixed code style for SockJS
...
also fixed appCreation, thanks to Erik Krogh.
2020-03-23 17:16:17 +03:00
Jonas Jensen
13465921a3
Merge pull request #3092 from dbartol/dbartol/VarArgIR2_ElectricBoogaloo
...
C++: Better IR for varargs
2020-03-23 14:13:54 +01:00
Erik Krogh Kristensen
833183c706
change note
2020-03-23 14:13:30 +01:00
Erik Krogh Kristensen
7bc7ffffd6
autoformat
2020-03-23 14:10:07 +01:00
Max Schaefer
b13e6141a2
JavaScript: Inline promiseStep/4.
2020-03-23 12:01:52 +00:00
Asger F
6c2842bd49
Merge pull request #2919 from asger-semmle/js/property-barriers
...
JS: Make sanitizers no longer block taint inside an object
2020-03-23 11:43:18 +00:00
Rasmus Wriedt Larsen
dcfc9a8796
Python: TarSlip sanitizer: explain tests with not
...
It was a bit confusing what was meant before
2020-03-23 12:00:59 +01:00
Anders Schack-Mulligen
4bc0cb0d28
Java: Fixup FinalizeMethod definition.
2020-03-23 11:11:00 +01:00
Erik Krogh Kristensen
2c43d1d731
fix FP in superfluous-trailing-arguments related to Function.arguments
2020-03-23 10:40:35 +01:00
Luke Cartey
9eee16b2d6
Merge pull request #3091 from hvitved/csharp/xpath-injection-more-sinks
...
C#: Teach XPath injection query about `XPathNavigator`
2020-03-23 09:39:26 +00:00
semmle-qlci
2c7af72f14
Merge pull request #2858 from RasmusWL/python-support-django2
...
Approved by tausbn
2020-03-23 09:35:46 +00:00
Anders Schack-Mulligen
888c504f55
Merge pull request #2903 from hvitved/dataflow/performance
...
Data flow: Refactoring + performance improvements
2020-03-23 10:01:20 +01:00
Eldar T. Zaitov
ee0b65ad39
Added experimental SockJS support
2020-03-20 21:24:16 +03:00
Dave Bartolomeo
fb71f781a0
C++: Fix formatting
2020-03-20 14:23:58 -04:00
yo-h
16f2957029
Merge pull request #3081 from aschackmull/java/urldecoder-step
...
Java: Add URLDecoder.decode as taint step.
2020-03-20 13:53:20 -04:00
yo-h
bcda481d4a
Merge pull request #3086 from aschackmull/java/apache-base64-taint
...
Java: Add apache Base64 taint steps.
2020-03-20 13:49:20 -04:00
Dave Bartolomeo
82e2816915
C++: Fix handling of std::va_list that is used as a function parameter
...
In the Unix ABI, `std::va_list` is defined as `typedef struct __va_list_tag { ... } va_list[1];`, which means that any `std::va_list` used as a function parameter decays to `struct __va_list_tag*`. Handling this actually made the QL code slightly cleaner. The only tricky bit is that we have to determine what type to use as the actual `va_list` type when loading, storing, or modifying a `std::va_list`. To do this, we look at the type of the argument to the `va_*` macro. A detailed QLDoc comment explains the details.
I added a test case for passing a `va_list` as an argument, and then manipulating that `va_list` in the callee.
2020-03-20 12:53:09 -04:00
Tom Hvitved
2d90e7daca
Autoformat
2020-03-20 09:34:34 +01:00
Dave Bartolomeo
bf284514fc
C++: Better IR for varargs
...
This PR changes the IR we generate for functions that accept a variable argument list. Rather than simply using `BuiltInOperationInstruction` to model the various `va_*` macros as mysterious function-like operations, we now model them in more detail. The intent is to enable better alias analysis and taint flow through varargs.
The `va_start` macro now generates a unary `VarArgsStart` instruction that takes the address of the ellipsis pseudo-parameter as its operand, and returns a value of type `std::va_list`. This value is then stored into the actual `std::va_list` variable via a regular `Store`.
The `va_arg` macro now loads the `std::va_list` argument, then emits a `VarArg` instruction on the result. This returns the address of the vararg argument to be loaded. That address is later used as the address operand of a regular `Load` to return the value of the argument. To model the side effect of moving to the next argument, we emit a `NextVarArg` instruction that takes the previous `std::va_list` value and returns an updated one, which is then stored back into the `std::va_list` variable.
The `va_end` macro just emits a `VarArgsEnd` unary instruction that takes the address of the `std::va_list` argument and does nothing, since `va_end` doesn't really do anything on most compiler implementations anyway.
The `va_copy` macro is just modeled as a plain copy.
2020-03-19 19:23:33 -04:00
Mathias Vorreiter Pedersen
67cb8525bf
Merge pull request #3082 from dbartol/dbartol/VarArgIR
...
C++: Model varargs in IR, Part I
2020-03-19 18:05:46 +01:00
Dave Bartolomeo
74f61dc148
C++: Fix formatting
2020-03-19 09:18:32 -04:00
Tom Hvitved
fc74a482a4
C#: More XPath injection sinks
2020-03-19 14:13:35 +01:00
Tom Hvitved
0d45700088
C#: Add change note
2020-03-19 13:41:22 +01:00
Tom Hvitved
4b3cf72c1c
C#: Teach XPath injection query about XPathNavigator
2020-03-19 13:38:16 +01:00
Tom Hvitved
7f0181ccff
C#: Add XPathNavigator test for cs/xml/xpath-injection
2020-03-19 13:37:03 +01:00
semmle-qlci
deb20fc37f
Merge pull request #3076 from esbena/js/even-more-mongoose-improvements
...
Approved by erik-krogh
2020-03-19 12:03:53 +00:00
Max Schaefer
ee62706ad2
JavaScript: Split up a predicate to avoid bad join order.
2020-03-19 11:47:53 +00:00
Max Schaefer
d91e6a4893
JavaScript: Avoid a few bad join orders.
2020-03-19 11:47:53 +00:00
semmle-qlci
2821b01017
Merge pull request #2915 from tausbn/python-add-points-to-for-missing-builtin-return-types
...
Approved by RasmusWL
2020-03-19 11:02:46 +00:00
Asger Feldthaus
4f42675b35
JS: Autformat
2020-03-19 09:36:27 +00:00
Rasmus Wriedt Larsen
f4e5079dd3
Merge pull request #2991 from BekaValentine/python-objectapi-to-valueapi-unguardednextingenerator
...
Python: ObjectAPI to ValueAPI: UnguardedNextInGenerator
2020-03-19 10:33:32 +01:00
Asger Feldthaus
3ae33e3c1a
JS: Update prototype pollution query
2020-03-18 23:59:25 +00:00
Asger Feldthaus
b6ca4fbee3
JS: Add getDefaultSourceLabel()
2020-03-18 23:52:25 +00:00
Rebecca Valentine
06f0947318
Update python/ql/src/Exceptions/UnguardedNextInGenerator.ql
...
Co-Authored-By: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-03-18 14:16:00 -07:00
Rebecca Valentine
9560c804b8
Update python/ql/test/query-tests/Exceptions/generators/test.py
...
Co-Authored-By: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-03-18 14:15:49 -07:00
Robert Marsh
a30954599d
Merge pull request #3085 from jbj/inStaticInitializer-AggregateLiteral
...
C++: Manual magic in inStaticInitializer
2020-03-18 13:23:04 -07:00
Dave Bartolomeo
30d2b865c6
C++: Fix formatting
2020-03-18 14:06:28 -04:00
Tom Hvitved
937924571c
Data flow: Sync files
2020-03-18 18:16:27 +01:00
Tom Hvitved
d0aaaad537
Address review comments
2020-03-18 18:16:11 +01:00
Rasmus Wriedt Larsen
9a0b2b1843
Merge pull request #2989 from BekaValentine/python-objectapi-to-valueapi-incorrectexceptorder
...
Python: ObjectAPI to ValueAPI: IncorrectExceptOrder
2020-03-18 18:03:25 +01:00
Taus
ae1268f241
Merge branch 'master' into python-add-points-to-for-missing-builtin-return-types
2020-03-18 17:59:17 +01:00
Rasmus Wriedt Larsen
290e33a912
Merge pull request #2922 from tausbn/python-fix-multi-assign-points-to
...
Python: Fix bug in `multi_assignment_points_to`.
2020-03-18 17:50:37 +01:00