You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[demo][acl] ACL can be skipped by cloning global objects
Root Cause
Assignment of a new global object cancels the ACL for the same object.
Example Reproducible Code
window.HTMLElement2=HTMLElement;HTMLElement2.prototype.click=null;// ACL for HTMLElement.prototype is bypassedObject.defineProperty(window,'HTMLElement3',{value: HTMLElement});HTMLElement3.prototype.click=null;// ACL for HTMLElement.prototype is bypassedObject.defineProperty(window,'HTMLElement4',{get: function(){returnHTMLElement;}});HTMLElement4.prototype.click=null;// ACL for HTMLElement.prototype is bypassedwindow.__defineGetter__('HTMLElement5',function(){returnHTMLElement;});HTMLElement5.prototype.click=null;// ACL for HTMLElement.prototype is bypassedObject.assign(window,{'HTMLElement6': HTMLElement});HTMLElement6.prototype.click=null;// ACL for HTMLElement.prototype is bypassedObject.defineProperties(window,{'HTMLElement7': {get: function(){returnHTMLElement;}}HTMLElement7.prototype.click=null;// ACL for HTMLElement.prototype is bypassedObject.defineProperties(window,{'HTMLElement8': {value: HTMLElement}});HTMLElement8.prototype.click=null;// ACL for HTMLElement.prototype is bypassed
Possible Quick Fix
Add ACL to avoid cloning global objects with their own ACLs
Note:
ACL can be hardened to avoid such situations by applying multiple ACLs for the same object. More research required.
The text was updated successfully, but these errors were encountered:
[demo][acl] ACL can be skipped by cloning global objects
Root Cause
Assignment of a new global object cancels the ACL for the same object.
Example Reproducible Code
Possible Quick Fix
Add ACL to avoid cloning global objects with their own ACLs
Note:
ACL can be hardened to avoid such situations by applying multiple ACLs for the same object. More research required.
The text was updated successfully, but these errors were encountered: