Open
Bug 1052575
(heap-partitioning)
Opened 11 years ago
Updated 1 month ago
[meta] store content-controlled buffers in a separate heap
Categories
(Core :: Security, defect)
Core
Security
Tracking
()
NEW
People
(Reporter: benjamin, Unassigned)
References
(Depends on 2 open bugs, Blocks 1 open bug)
Details
(5 keywords)
This is a tracking bug for a project to store content-controlled buffers such as strings, ArrayBuffer, network buffers, and other similar data in a heap separate from the normal C++ heap.
Links and prior art:
https://labs.mwrinfosecurity.com/blog/2014/06/20/isolated-heap-friends---object-allocation-hardening-in-web-browsers/
https://codereview.chromium.org/26196002
https://chromium.googlesource.com/chromium/blink/+/master/Source/wtf/PartitionAlloc.h
Updated•10 years ago
|
Alias: heap-partitioning
Updated•8 years ago
|
Blocks: exploit-mitigation
Comment 1•8 years ago
|
||
As we move this forward I wanted to point to the current partitions that Chromium has: https://chromium.googlesource.com/chromium/blink/+/master/Source/wtf/Partitions.h#127
The first target would be what they call the buffer partition - all Javascript objects that are near-entirely user controlled (strings, arrays, and any similar or synonymous types) would be segmented into a separate partition. Once that is done and baked we can determine what would be good future targets for this work.
Updated•7 years ago
|
Comment 2•7 years ago
|
||
Safari has (just) implemented Isolated Heaps for their DOM. Interestingly, they seem to have a separate Isolated Heap for every individual DOM type (which is very strong protection!)
https://github.com/WebKit/webkit/commit/197cd32c3b5527e8c2bbe3fcb7d78cc993dd8904
https://bugs.webkit.org/show_bug.cgi?id=183546#c43
https://github.com/WebKit/webkit/blob/2e53890f18d9a44fa41607791efca2939aa3c7f7/Source/WTF/wtf/IsoMalloc.h
https://github.com/WebKit/webkit/blob/master/Source/bmalloc/bmalloc/IsoHeap.h
https://github.com/WebKit/webkit/blob/master/Source/bmalloc/bmalloc/IsoHeapInlines.h
Keywords: parity-safari
Updated•7 years ago
|
OS: Linux → All
Hardware: x86_64 → All
Updated•5 years ago
|
Keywords: meta
Summary: Tracking: store content-controlled buffers in a separate heap → [meta] store content-controlled buffers in a separate heap
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•