File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed
src/semmle/javascript/frameworks
test/query-tests/Security/CWE-079 Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -538,12 +538,13 @@ module JQuery {
538
538
MethodCall ( ) {
539
539
this = dollarCall ( ) and name = "$"
540
540
or
541
- this = ( [ dollar ( ) , objectRef ( ) ] ) .getAMemberCall ( name )
542
- or
543
541
// Handle basic dynamic method dispatch (e.g. `$element[html ? 'html' : 'text'](content)`)
544
542
exists ( DataFlow:: PropRead read | read = this .getCalleeNode ( ) |
545
543
read .getBase ( ) .getALocalSource ( ) = [ dollar ( ) , objectRef ( ) ] and
546
- read .getPropertyNameExpr ( ) .flow ( ) .mayHaveStringValue ( name )
544
+ (
545
+ read .getPropertyNameExpr ( ) .flow ( ) .mayHaveStringValue ( name ) or
546
+ read .getPropertyName ( ) = name
547
+ )
547
548
)
548
549
or
549
550
// Handle contributed JQuery objects that aren't source nodes (usually parameter uses)
Original file line number Diff line number Diff line change 58
58
59
59
$ ( "#id" ) . get ( 0 ) . innerHTML = $ ( "input" ) . getAttribute ( "id" ) ; // OK.
60
60
61
- $ ( "#id" ) . get ( 0 ) . innerHTML = $ ( document ) . find ( "option" ) . attr ( "value" ) ; // NOT OK.
61
+ $ ( "#id" ) . get ( 0 ) . innerHTML = $ ( document ) . find ( "option" ) . attr ( "value" ) ; // NOT OK.
62
+
63
+ var valMethod = $ ( "textarea" ) . val ;
64
+ $ ( "#id" ) . get ( 0 ) . innerHTML = valMethod ( ) ; // OK - Not a method call, not valid receiver for jQuery.
62
65
} ) ( ) ;
You can’t perform that action at this time.
0 commit comments