t2ym/thin-hook

[Chrome 108+][validation] browserHash can have 2 different values for the same browser version

Closed this issue · 0 comments

t2ym commented

[Chrome 108+] browserHash can have 2 different values for the same browser version

Root Cause

  • With Chrome 108 and later versions, document.prerendering can have one of these 2 values: true and false, which affects the browserHash value

Workaround

  • In Validation Service, validate the 2 distinct browserHash values for each browser version

Fix

  • Exclude document.prerendering in generating browserHash
diff --git a/plugins/integrity-js/integrity.js b/plugins/integrity-js/integrity.js
index 9266399c..e10799cb 100644
--- a/plugins/integrity-js/integrity.js
+++ b/plugins/integrity-js/integrity.js
@@ -1524,6 +1524,7 @@
         '.navigator:object.connection:object.saveData:boolean', // a reduced data usage option
         '.document:object.hidden:boolean', // hidden status of the document
         '.document:object.webkitHidden:boolean', // hidden status of the document
+        '.document:object.prerendering:boolean', // prerendering status of the document
       ];
       const volatileBooleansSet = new Set();
       volatileBooleans.forEach(pos => volatileBooleansSet.add(pos));