Matt Brown
|
9a03a9a5d0
|
Move param taint sink addition after arguuments have been analysed
|
2020-11-22 19:39:40 -05:00 |
|
Matt Brown
|
b782dd4225
|
Make sure conditional escaping works for static methods too
|
2020-11-22 13:39:32 -05:00 |
|
Matt Brown
|
af008953a8
|
Fix #4661 - support conditional escaping for functions
|
2020-11-22 13:24:33 -05:00 |
|
Matt Brown
|
60b3086b9a
|
Fix #4609 - add more attribute rules
|
2020-11-22 01:15:52 -05:00 |
|
Matt Brown
|
66d574b82e
|
Fix #4475 - verify that used attributes actual use the Attribute attribute
|
2020-11-22 00:52:56 -05:00 |
|
Matt Brown
|
11825a2cc2
|
Fix #4611 - flag invalid attribute arguments correctly
|
2020-11-22 00:44:44 -05:00 |
|
Matt Brown
|
6b1112e6ea
|
Fix #4653 - prevent crash with recursive type in root namespace
|
2020-11-22 00:26:14 -05:00 |
|
Matt Brown
|
baca927aab
|
Fix #4643 - use PHP8 union types when possible
|
2020-11-21 22:50:56 -05:00 |
|
Matt Brown
|
df2ec48018
|
Don’t erase already-known literal ints
Fixes #4644
|
2020-11-21 18:26:13 -05:00 |
|
Matt Brown
|
3728837ef9
|
Only run unused code analysis where necessary
|
2020-11-21 18:25:18 -05:00 |
|
Matt Brown
|
f0ae0e5cb4
|
Break aparat type combiner
|
2020-11-21 18:11:29 -05:00 |
|
Lukas Reschke
|
ffb0c4ae17
|
Implement variadic taint propagation (#4649)
* Implement variadic taint propagation
* Lint code
|
2020-11-21 17:41:40 -05:00 |
|
orklah
|
509a937d1b
|
use int|string in phpdoc format for array-key (#4645)
|
2020-11-21 17:38:40 -05:00 |
|
Lukas Reschke
|
3943b55f8a
|
Add psalm-flow for string functions from sscanf to wordwrap (#4591)
* Add string functions from sscanf to wordwrap
This should conclude all string functions from https://www.php.net/manual/en/book.strings.php
Continuation of https://github.com/vimeo/psalm/pull/4576
Ref https://github.com/vimeo/psalm/issues/3636
* Add StrTrReturnTypeProvider
* Fix psalm error
* phpcs
* Line length
* Ignore false return on vsprintf
Co-authored-by: Matthew Brown <github@muglug.com>
|
2020-11-21 17:35:07 -05:00 |
|
Matt Brown
|
62b0ddd74d
|
Fix test
|
2020-11-20 19:07:48 -05:00 |
|
Matt Brown
|
23ab0f1ddb
|
Allow Psalm to run in taint analysis mode without a config
|
2020-11-20 19:02:44 -05:00 |
|
orklah
|
6b72599ec5
|
allow static return type in PHP8 (#4641)
|
2020-11-20 18:46:35 -05:00 |
|
Matt Brown
|
1cead18760
|
Fix #4637 - prevent regression when negating function call with === false
|
2020-11-20 09:56:53 -05:00 |
|
Dalibor Karlović
|
da632ca73a
|
feature: allow plugin manager to work without config file (#4639)
|
2020-11-20 09:54:14 -05:00 |
|
orklah
|
e04f219948
|
return static instead of self when static context detected (#4632)
* return this instead of self when static context detected
* replace $this by static
|
2020-11-19 19:02:25 -05:00 |
|
Matt Brown
|
78d644d1a1
|
Change TaintedText to TaintedCallable
|
2020-11-19 19:01:19 -05:00 |
|
Lukas Reschke
|
78f4a0691c
|
Add dedicated types for 'file', 'header' and 'cookie' (#4630)
* [WIP] Add dedicated sinks for 'file', 'header' and 'cookie'
* Add documentation
* Add mapping for taint flows
* Add tests
* Fix test
|
2020-11-19 17:47:29 -05:00 |
|
Matt Brown
|
de49892525
|
Fix #4626 - array_key_exists should infer type for first arg where possible
|
2020-11-19 15:40:27 -05:00 |
|
Matt Brown
|
ff3fff56d4
|
Simplify assertion negations, centralising as much as possible
Now the flag passed to scrapeAssertions just determines the errors emitted
|
2020-11-19 14:32:49 -05:00 |
|
Matt Brown
|
7803cc228b
|
Revert "Fix #4624 - allow in_array to work with list arrays"
This reverts commit 08ae85a735f588bf2dce5ea00689d2637bba9afe.
|
2020-11-19 12:49:26 -05:00 |
|
Matt Brown
|
08ae85a735
|
Fix #4624 - allow in_array to work with list arrays
|
2020-11-19 09:26:41 -05:00 |
|
Matt Brown
|
7c02fa76d1
|
Fix #4620 - reconciled literal strings cannot carry taints
|
2020-11-19 09:06:25 -05:00 |
|
Matt Brown
|
95de6cf177
|
Allow immutable classes to be specialised through calls
|
2020-11-19 01:38:20 -05:00 |
|
Matt Brown
|
be275ae972
|
Fix #4605 - taint parent-declared property
|
2020-11-18 13:34:47 -05:00 |
|
Lukas Reschke
|
ddbfbb28e6
|
Split LDAP into custom category (#4604)
- Adds ldap_escape as sanitizer
- Defines the right parameters to ldap_search as sink
- Wrote documentation
- Added tests
|
2020-11-18 11:39:36 -05:00 |
|
Matt Brown
|
3f7f959726
|
Fix #4599 - propagate taints to parent callers where necessary
|
2020-11-18 09:59:54 -05:00 |
|
Lukas Reschke
|
5ba4681c17
|
Add SSRF sinks (#4592)
|
2020-11-18 00:52:48 -05:00 |
|
Matt Brown
|
ab3961d9b3
|
Sanity check to ensure closure uses aren’t removed
|
2020-11-18 00:38:28 -05:00 |
|
Matt Brown
|
28dee4146a
|
Fix tests
|
2020-11-17 17:53:46 -05:00 |
|
Matt Brown
|
2aa98bc5d0
|
Simplify tainted output a bit, removing duplicate paths
|
2020-11-17 17:17:18 -05:00 |
|
Matt Brown
|
adeaa33a64
|
Don’t propagate taints to child constructor args
|
2020-11-17 16:49:29 -05:00 |
|
Matt Brown
|
4e5111f1a8
|
Fix #4472 - if something flows into a byref var it’s used
|
2020-11-17 15:30:53 -05:00 |
|
Lukas Reschke
|
494ec40777
|
Add SARIF as report output (#4582)
https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html
|
2020-11-17 13:23:20 -05:00 |
|
Matt Brown
|
43af3b1a57
|
Break out TaintedInput issues into a lot of separate ones
|
2020-11-17 12:44:31 -05:00 |
|
Dusk
|
0fe3e1f83b
|
Allow named arguments to variadic functions (#4575)
Closes #4563
|
2020-11-16 15:49:27 -05:00 |
|
Lukas Reschke
|
09abcfb650
|
Add sinks for popen and proc_open (#4572)
User input in those two functions could lead to a RCE.
popen: https://www.php.net/manual/en/function.popen.php
proc_open: https://www.php.net/manual/en/function.proc-open.php
|
2020-11-16 15:04:22 -05:00 |
|
orklah
|
6f8b463860
|
Detect trying to access to a list with a negative offset (#4552)
|
2020-11-15 20:26:50 -05:00 |
|
Matt Brown
|
26b4cd1fb9
|
Fix #4529 - allow unsetting with complex array key
|
2020-11-14 08:57:25 -05:00 |
|
Matt Brown
|
d97c8b750a
|
Add closure-use termination for byref flows
|
2020-11-13 13:37:27 -05:00 |
|
Matt Brown
|
2e47ca51d5
|
Fix #4547 - mark unused uses
|
2020-11-13 13:13:29 -05:00 |
|
Matt Brown
|
57125c7106
|
Uses by ref should be assigned that way
|
2020-11-13 12:50:01 -05:00 |
|
Matt Brown
|
086237aab7
|
Fix #4544 - improve handling of get_class in match
|
2020-11-13 11:55:42 -05:00 |
|
Matt Brown
|
13b83e6132
|
Fix #4545 - allow intersections in more places
|
2020-11-13 09:43:30 -05:00 |
|
Matt Brown
|
2992cc73c2
|
Split out trait template tests
|
2020-11-13 08:59:55 -05:00 |
|
Matt Brown
|
5a62dc5c40
|
Fix #4540 - use correct method when simulating property setting
|
2020-11-12 23:56:29 -05:00 |
|