File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
python/ql/lib/semmle/python Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -1234,6 +1234,29 @@ module Http {
1234
1234
}
1235
1235
}
1236
1236
1237
+ /** A write to a `Set-Cookie` header that sets a cookie directly. */
1238
+ private class CookieHeaderWrite extends CookieWrite:: Range instanceof Http:: Server:: ResponseHeaderWrite
1239
+ {
1240
+ CookieHeaderWrite ( ) {
1241
+ exists ( StringLiteral str |
1242
+ str .getText ( ) = "Set-Cookie" and
1243
+ DataFlow:: exprNode ( str )
1244
+ .( DataFlow:: LocalSourceNode )
1245
+ .flowsTo ( this .( Http:: Server:: ResponseHeaderWrite ) .getNameArg ( ) )
1246
+ )
1247
+ }
1248
+
1249
+ override DataFlow:: Node getNameArg ( ) {
1250
+ result = this .( Http:: Server:: ResponseHeaderWrite ) .getValueArg ( )
1251
+ }
1252
+
1253
+ override DataFlow:: Node getHeaderArg ( ) {
1254
+ result = this .( Http:: Server:: ResponseHeaderWrite ) .getValueArg ( )
1255
+ }
1256
+
1257
+ override DataFlow:: Node getValueArg ( ) { none ( ) }
1258
+ }
1259
+
1237
1260
/**
1238
1261
* A data-flow node that enables or disables Cross-site request forgery protection
1239
1262
* in a global manner.
You can’t perform that action at this time.
0 commit comments