Skip to content

Conversation

asgerf
Copy link
Contributor

@asgerf asgerf commented Jun 15, 2020

A safer version of #3639, adds call edges to functions returned by other functions:

function outer() {
  return inner(x) { ... }
}

outer()(x); // call edge

Evaluations:

erik-krogh
erik-krogh previously approved these changes Jun 15, 2020
Copy link
Contributor

@erik-krogh erik-krogh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@esbena
Copy link
Contributor

esbena commented Jun 15, 2020

LGTM. OOI Does this still solve the problems of https://github.com/github/codeql-javascript-team/issues/18, or more concretely, our problem with CVE-2020-7648?

@asgerf
Copy link
Contributor Author

asgerf commented Jun 15, 2020

Does this still solve the problems of github/codeql-javascript-team#18,

It helps although still not entirely 'consistent' since returned .bind calls are still tracked further than plain functions.

or more concretely, our problem with CVE-2020-7648?

Yes, for CVE-2020-7648 it discovers the same call edge that #3639 was originally needed for.

@semmle-qlci semmle-qlci merged commit 3728e1a into github:master Jun 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants