原项目地址: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, fcole@onshape.com
  • 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

Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:http://paper.seebug.org/150/