Title: [258814] trunk/Source/WebKit
Revision
258814
Author
[email protected]
Date
2020-03-21 18:31:25 -0700 (Sat, 21 Mar 2020)

Log Message

decodeSharedBuffer() in WebCoreArgumentCoders.cpp should validate `bufferSize`
<https://webkit.org/b/209373>
<rdar://problem/60610919>

Reviewed by Darin Adler.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::decodeSharedBuffer):
- Return early if `bufferSize` is too big.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (258813 => 258814)


--- trunk/Source/WebKit/ChangeLog	2020-03-21 19:10:43 UTC (rev 258813)
+++ trunk/Source/WebKit/ChangeLog	2020-03-22 01:31:25 UTC (rev 258814)
@@ -1,3 +1,15 @@
+2020-03-21  David Kilzer  <[email protected]>
+
+        decodeSharedBuffer() in WebCoreArgumentCoders.cpp should validate `bufferSize`
+        <https://webkit.org/b/209373>
+        <rdar://problem/60610919>
+
+        Reviewed by Darin Adler.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::decodeSharedBuffer):
+        - Return early if `bufferSize` is too big.
+
 2020-03-20  Wenson Hsieh  <[email protected]>
 
         [iPadOS] Yahoo! search results are sometimes zoomed in a little

Modified: trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp (258813 => 258814)


--- trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-03-21 19:10:43 UTC (rev 258813)
+++ trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-03-22 01:31:25 UTC (rev 258814)
@@ -169,6 +169,10 @@
     if (!decoder.decode(handle))
         return false;
 
+    // SharedMemory::Handle::size() is rounded up to the nearest page.
+    if (bufferSize > handle.size())
+        return false;
+
     auto sharedMemoryBuffer = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
     buffer = SharedBuffer::create(static_cast<unsigned char*>(sharedMemoryBuffer->data()), bufferSize);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to