mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge branch 'main' into redsun82/pkg
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* The `request` parameter of Flask `SessionInterface.open_session` method is now modeled as a remote flow source.
|
||||
@@ -101,6 +101,19 @@ module Flask {
|
||||
/** Gets a reference to the `flask.request` object. */
|
||||
API::Node request() {
|
||||
result = API::moduleImport(["flask", "flask_restful"]).getMember("request")
|
||||
or
|
||||
result = sessionInterfaceRequestParam()
|
||||
}
|
||||
|
||||
/** Gets a `request` parameter of an implementation of `open_session` in a subclass of `flask.sessions.SessionInterface` */
|
||||
private API::Node sessionInterfaceRequestParam() {
|
||||
result =
|
||||
API::moduleImport("flask")
|
||||
.getMember("sessions")
|
||||
.getMember("SessionInterface")
|
||||
.getASubclass+()
|
||||
.getMember("open_session")
|
||||
.getParameter(1)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
import flask
|
||||
|
||||
class MySessionInterface(flask.sessions.SessionInterface):
|
||||
def open_session(self, app, request):
|
||||
ensure_tainted(request) # $tainted
|
||||
Reference in New Issue
Block a user