Skip to content

18-01 Security Update - #4503

Merged
chakrabot merged 20 commits into
chakra-core:release/1.7from
thomasmo:1801
Jan 5, 2018
Merged

18-01 Security Update#4503
chakrabot merged 20 commits into
chakra-core:release/1.7from
thomasmo:1801

Conversation

@thomasmo

@thomasmo thomasmo commented Jan 5, 2018

Copy link
Copy Markdown
Contributor

@pleath pleath left a comment

Copy link
Copy Markdown
Contributor

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.

@rajatd rajatd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

:shipit:

@boingoing boingoing left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👍

@obastemur

Copy link
Copy Markdown
Collaborator

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

@thomasmo

thomasmo commented Jan 5, 2018

Copy link
Copy Markdown
Contributor Author

@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.