仅做记录,以备查阅
Array.from调用GenerateSetLength进行内存缩减时开发者未考虑在执行自定义的迭代方法时调用者可以自定义Array的实际长度,在设置的实际长度>迭代器执行次数时未将Array实际长度设置成调用者设置的长度导致oob
在强制优化生成器函数去优化时忽略了JSGeneratorObject类型的处理导致崩溃(没有太大意义)
ast visitor中没有处理if死结点之后代码的类型,在bytecode generator真正生成字节码的时候会处理到未检查类型的代码,并且在生成字节码时会将语法树结点索引偏移的位置视为与当前结点类型一致最终导致类型混淆(exp,interesting bug)
最初写这篇的目的是记录一下分析过的漏洞和成长的足迹,顺便了解一下JS引擎什么地方容易出现漏洞。后来发现并没有什么卵用也就不再更新了,现在JS引擎容易出现security bug的地方还是JIT和wasm多一些,一些PJ0的bug提交学习地址
https://bugs.chromium.org/u/lokihardt@google.com/updates
https://bugs.chromium.org/u/natashenka@google.com/updates
https://bugs.chromium.org/u/ifratric@google.com/updates
https://bugs.chromium.org/u/saelo@google.com/updates
https://bugs.chromium.org/u/glazunov@google.com/updates
https://bugs.chromium.org/u/2442190884/updates
https://bugs.chromium.org/u/3604400591/updates
https://twitter.com/ProjectZeroBugs
https://twitter.com/BugsChromium
所以,怀着好奇心点进来的骚年,怀揣着你的信仰跟满腔热血,去搞JIT和WASM吧;b