Bug 171870 - Harden allocation of core function and executable types
Summary: Harden allocation of core function and executable types
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-09 11:38 PDT by Oliver Hunt
Modified: 2017-05-09 11:38 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Hunt 2017-05-09 11:38:30 PDT
As they're prime targets for privilege escalation, achieving code control, etc, etc we should harden how we allocate JSFunctions and related objects by pushing them all into a separate subspace that is never used for any other object type.

Targets are JFSunction and subclasses and *Executable*.

This means that it will be marginally harder for an attacker to overwrite the executable linkage (still achievable, but would a bit more work to achieve control)

Not super high priority as i'm not sure how useful this would be -- attacker would need to pivot from a separate object class to the function. The question is whether we consider that to be a meaningful increase in attack complexity.