mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
## 0.5.0
|
|
|
|
### Major Analysis Improvements
|
|
|
|
* Flow through `initialize` constructors is now taken into account. For example, in
|
|
```rb
|
|
class C
|
|
def initialize(x)
|
|
@field = x
|
|
end
|
|
end
|
|
|
|
C.new(y)
|
|
```
|
|
there will be flow from `y` to the field `@field` on the constructed `C` object.
|
|
|
|
### Minor Analysis Improvements
|
|
|
|
* Calls to `Kernel.load`, `Kernel.require`, `Kernel.autoload` are now modeled as sinks for path injection.
|
|
* Calls to `mail` and `inbound_mail` in `ActionMailbox` controllers are now considered sources of remote input.
|
|
* Calls to `GlobalID::Locator.locate` and its variants are now recognized as instances of `OrmInstantiation`.
|
|
* Data flow through the `ActiveSupport` extensions `Enumerable#index_with`, `Enumerable#pick`, `Enumerable#pluck` and `Enumerable#sole` are now modeled.
|
|
* When resolving a method call, the analysis now also searches in sub-classes of the receiver's type.
|
|
* Taint flow is now tracked through many common JSON parsing and generation methods.
|
|
* The ReDoS libraries in `codeql.ruby.security.regexp` has been moved to a shared pack inside the `shared/` folder, and the previous location has been deprecated.
|
|
* String literals and arrays of string literals in case expression patterns are now recognised as barrier guards.
|