exploit for crbug1086890

bug info

来自pj0的glazunov的洞,一个JIT优化中的洞,缺少边界检查最终导致oob r/w。

exploit

比较不好的地方就是需要大概猜一下那个oobarray的elements的地址,使得我们想用来aar/w的array或者arraybuffer落在这后面,大概调整个偏移使得能够正常读写到就行。

测试版本:83.0.4103.61

1
2
3
4
5
6
7
Commit: 88bff78e26dbd25dcbb342d4b07c7e66c0f048be
Branch Base Commit: 8ad47e8d21f6866e4a37f47d83a860d41debf514
Branch Base Position: 756066
V8 Commit: 3b627511511f00c552ced504c1f182bdcc3480af
V8 Version: 8.3.110.9
V8 Position: 19
Skia Commit: c3d05a789930913af94174961bc6f90894196f62
  • 调试会比较麻烦点,gdb 直接起触发有问题(我这里是),我是开了coredump,然后触发crash看看内存啥的调的。
  • biguint64 还是 arraybuffer都行,喜欢啥用啥。
  • 想成功率高,要用web worker(我觉得),要么死猜几个地址,要么随机撞大运。

exploit linux d8

完整利用代码


觉得有用的朋友可以打赏一杯☕️ :)