原项目地址:Case Study of JavaScript engine vulnerabilities
项目作者:tunz
该项目收集了 JavaScript 引擎的一些经典漏洞,每条记录包括:CVE,漏洞点,漏洞类型,成因,发现者。CVE ID 对应其 PoC 代码。
V8
- CVE-2013-6632: TypedArray, Integer Overflow, OOB, Pinkie Pie
- Chrome < 31.0.1650.57 TypedArray 对象的整数溢出,导致越界访问,参考详情
- CVE-2014-1705: TypedArray, Invalid Array Length, OOB, geohot
- Chrome < 33.0.1750.152(Linux&Mac), < 33.0.1750.154(Windows),可利用
__defineGetter__
和 bytesLength
越界读写,参考详情
- CVE-2014-3176: Array.concat, Side Effect, OOB, lokihardt
- Chrome < 36.0.1985.143 释放后重用漏洞,利用 Array.concat() 执行任意代码,参考详情。
- CVE-2014-7927: asm.js, Compiler, OOB, Christian Holler
- Chrome < 40.0.2214.91,SimplifiedLowering::DoLoadBuffer 函数处理数据类型错误可导致越界读写,参考详情
- CVE-2014-7928: Array, Optimization, Christian Holler
- Google Chrome < 40.0.2214.91 未正确处理数组导致内存损坏,参考详情
- CVE-2015-1242: Type Confusion, [email protected]
- Google Chrome < 42.0.2311.90 利用类型混淆越界读写,参考详情
- CVE-2015-6764: JSON, Side Effect, OOB, Pwn2Own, Guang Gong, Qihoo 360
- Google Chrome < 47.0.2526.73 BasicJsonStringifier::SerializeJSArray 函数可越界读写, 参考详情
- CVE-2015-6771: TypedArray, OOB
- Google Chrome < 47.0.2526.73, 数组的 map 和 filter 错误处理可导致越界内存访问,参考详情
- CVE-2015-8584: JSON, OOB
- Google Chrome < 47.0.2526.80,通过序列化 JSON 数组在内存中越界读写,参考详情
- CVE-2016-1646: Array.concat, Side Effect, OOB, Wen Xu, Tencent KeenLab
- Google Chrome < 49.0.2623.108 IterateElements 函数存在越界内存读取漏洞,参考详情
- CVE-2016-1653: asm.js, TypedArray, Compiler, OOB, Choongwoo Han
- Google Chrome < 50.0.2661.75 (开启 WebAssembly)asm.js 错误处理数据类型,导致越界访问,参考详情
- CVE-2016-1665: asm.js, Compiler, HyungSeok Han
- Google Chrome < 50.0.2661.94 在 JSGenericLowering 类中错误处理运算符,可泄漏敏感信息,参考详情
- CVE-2016-1669: RegExp, Heap Overflow, Integer Overflow, Choongwoo Han
- Google Chrome < 50.0.2661.102 内存分配错误,造成溢出漏洞,参考详情
- CVE-2016-1677: Side Effect, Information Leak, Guang Gong, Qihoo 360
- Google Chrome < 51.0.2704.63 函数 TwoByteSeqStringSetChar 参数类型混淆,可导致信息泄漏参考详情
- CVE-2016-1688: RegExp, Max Korenko
- Google Chrome < 51.0.2704.63 正则表达式对字符串的长度处理不当,导致内存破坏,参考详情
- CVE-2016-5129: Array, Side Effect, Jeonghoon Shin
- Google Chrome < 52.0.2743.82 shift 函数中处理不当,导致程序崩溃,参考详情
- CVE-2016-5172: Scope, Choongwoo Han
- Google Chrome < 53.0.2785.113 覆写参数的作用范围,导致内存信息泄漏,参考详情
原项目作者尚未总结
未公开
JavaScriptCore
TODO
ChakraCore
- CVE-2016-3386: Spread Operator, Stack Overflow, Richard Zhu
- CVE-2016-7189: Array.join, Information Leak, Natalie Silvanovich, Google Project Zero
- CVE-2016-7190: Array.map, Heap Overflow, Natalie Silvanovich, Google Project Zero
- CVE-2016-7194: Function.apply, Information Leak, Natalie Silvanovich, Google Project Zero
- CVE-2016-7200: Array.filter, Heap Corruption, Natalie Silvanovich, Google Project Zero
- CVE-2016-7202: Array.reverse, Overflow, Natalie Silvanovich, Google Project Zero
- CVE-2016-7203: Array.splice, Heap Overflow, Natalie Silvanovich, Google Project Zero
- CVE-2016-7240: eval, Proxy, Type Confusion, Natalie Silvanovich, Google Project Zero
- CVE-2016-7241: JSON.parse, Information Leak, Natalie Silvanovich, Google Project Zero
- CVE-2016-7286: SIMD.toLocaleString, Uninitialized Memory, Natalie Silvanovich, Google Project Zero
- CVE-2016-7287: Intl, Initialization, Type Confusion, Natalie Silvanovich, Google Project Zero