-
Notifications
You must be signed in to change notification settings - Fork 6
Known Issues
jackfromeast edited this page Aug 6, 2024
·
1 revision
This document record a list of problems that current implementation have:
Functionality
-
Excuting User code in strict mode
- Description
- There are operations, e.g. set a read-only property, in the user code will not raise an error as it is executing under sloppy mode. But now, we are executing it in strict mode, (carried out in rule-builder.js)
- To Reproduce:
- Domain:
https://ebay.com/ - Error:
Cannot set property indexedDB of #<Window> which has only a getter
- Domain:
- Test Case:
- regression-test: strict-mode-compatibility
- Description
-
Cannot instrument code for
.innerHTMLordocument.writewhich will also dynamically generate code on the web- Description
- Now, we only handle the dynamically generated code during
evalandfunctionconstructor
- Now, we only handle the dynamically generated code during
- To Reproduce:
canva.com- URL:
https://www.canva.com/ - Error: GET https://www.canva.com/_ajax/csrf3/ae 403 (Forbidden)
- This might because of the
gtm_fpc_engagement_eventandgtm_custom_user_engagementcookie.
- URL:
- regression-test: innerHTML-instrument-2 and innerHTML-instrument-1
- Description
-
Timing Problem
- Description
- If a script is depend on other scripts. Due to the instrumentation process and instrumented code, the timing of their exeucted may differ from the original sequence. This will raise problem like lookuping on undefined value, or function is undefined
- To Reproduce:
- URL:
https://flickr.com/ - Error: TypeError: Cannot read properties of undefined (reading 'name')
- URL:
- Description
-
Failed to execute 'atob' and 'btoa' on window?
-
Cannot inject J$$ runtime to service worker
Taint Propagation
- Cannot do the taint propagation for
String.replacewith callback function- Refer to test case:
replace-2
- Refer to test case:
![]()
- Related Works
- HTML Injection
- DOM Clobbering
- Evaluation
- Discussion
- Others