CVE-2020-6418 (Incorrect side effect modelling for JSCreate)
1-day
Background Map inference in v8 V8에서 map inference는 최적화 과정에서 object의 map, 즉 type을 추론하는 작업입니다. Object의 map은 runtime에 바뀔 수 있습니다. 예를 들어 다음과 같은 상황을 생각해볼 수 있습니다. [1, 2, 3]은 small integer들의 배열이므로, a의 map은 PACKED_SMI_ELEMENTS입니다. a[0]의 값을 1.1로 바꾸면 a는 더 이상 small integer들의 배열이 아니게 되고, 따라서 map도 바뀌어야 합니다. 이 경우에는 double형 상수들의 배열이므로 a의 새로운 map은 PACKED_DOUBLE_ELEMENTS가 됩니다. /* src/compiler/map-inference.h */ /..