Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

18-01 Security Update #4503

Merged
merged 20 commits into from
Jan 5, 2018
Merged

18-01 Security Update #4503

merged 20 commits into from
Jan 5, 2018

Conversation

thomasmo
Copy link
Contributor

@thomasmo thomasmo commented Jan 5, 2018

Copy link
Contributor

@pleath pleath left a comment

Choose a reason for hiding this comment

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

My 4 changes look good.

Copy link
Contributor

@rajatd rajatd left a comment

Choose a reason for hiding this comment

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

:shipit:

Copy link
Contributor

@boingoing boingoing left a comment

Choose a reason for hiding this comment

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

👍

@obastemur
Copy link
Collaborator

Not sure why my commits are here? (side note; they are already on 1.7)

@thomasmo
Copy link
Contributor Author

thomasmo commented Jan 5, 2018

@obastemur -- yeah...I will look into fixing this before I submit. that was fallout from my rebasing

pleath and others added 13 commits January 5, 2018 09:58
This change fixes a type-confusion bug that can occur with Native arrays allocated on the stack. Once JIT'd code expects a Native array to be used on the stack, the POC converts it to a Var array. This is combined with current behavior of the Arguments property, which moves the array from the stack to the heap. The result of these two assumptions is natively setting a Float value where a Var value is expected, letting any arbitrary floating-point number be written to memory and subsequently accessed as a Var.

This fix forces a deep copy of Arrays that are returned via Arguments. This ensures that the new object created points to its own buffers. This also indicates a divergence with the original object and the one created by Arguments; however, there is currently no standard to define this behavior.
The variable was declared inside an if-else condition and is used outside the block.
…AsConstructor

stackArgs variable is declared inside an if block but used outside of the block.
…hodJsPolymorphicInlineCache - Palo Alto Networks, Inc.
leirocks and others added 7 commits January 5, 2018 09:58
…- Qihoo 360

Dynamic import keyword should have been disabled. The bug exploits our use of JavascriptError::SetErrorMessageProperties with the underlying buffer from a JavascriptString object which might get collected leading to use after free of that buffer.

Fix here disables dynamic import feature and fixes the exploit since some of that code is shared with other components.
This feature is now experimental.
@chakrabot chakrabot merged commit 7b59f02 into chakra-core:release/1.7 Jan 5, 2018
chakrabot pushed a commit that referenced this pull request Jan 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.