angler-fishThe Vulnerability History Project

IndexedDB: Avoid side effects by evaluating key paths w/ HasOwnProperty

      Although key path evaluation is always done against clones (so getters
are flattened into simple data properties), property lookups were
not restricted to inherited properties, allowing getters on prototypes
to be executed. This allows evaluation to be observable, and cause
side effects.

Restrict the lookup to own properties, and introduce special-case code
for those non-own values identified in the spec[1] as special cases.

[1] https://w3c.github.io/IndexedDB/#key-path-construct

BUG=637963
R=haraken@chromium.org

Review-Url: https://codereview.chromium.org/2255413004
Cr-Commit-Position: refs/heads/master@{#414170}
    
commit fb18204c77e3f6e43ce05dd3ce24f00e0201bac1
+35 -35
+14 -18
+10 -52
expand_less