File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
lib/semmle/python/frameworks
test/library-tests/frameworks/flask Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,19 @@ module Flask {
101101 /** Gets a reference to the `flask.request` object. */
102102 API:: Node request ( ) {
103103 result = API:: moduleImport ( [ "flask" , "flask_restful" ] ) .getMember ( "request" )
104+ or
105+ result = sessionInterfaceRequestParam ( )
106+ }
107+
108+ /** Gets a `request` parameter of an implementation of `open_session` in a subclass of `flask.sessions.SessionInterface` */
109+ private API:: Node sessionInterfaceRequestParam ( ) {
110+ result =
111+ API:: moduleImport ( "flask" )
112+ .getMember ( "sessions" )
113+ .getMember ( "SessionInterface" )
114+ .getASubclass + ( )
115+ .getMember ( "open_session" )
116+ .getParameter ( 1 )
104117 }
105118
106119 /**
Original file line number Diff line number Diff line change 1+ import flask
2+
3+ class MySessionInterface (flask .sessions .SessionInterface ):
4+ def open_session (self , app , request ):
5+ ensure_tainted (request ) # $tainted
You can’t perform that action at this time.
0 commit comments