Use-After-Free in FileWriter Component of Mojo Bindings for Filesystem API
There is a use-after-free vulnerability in the implementation of the FileWriter component of the mojo bindings for the filesystem API. The browser-process side of this API is defined in a URL and the method of interest is the Write method which takes a parameter of type blink.mojom.Blob. The implementation of this method binds a callback object to base::Unretained(this). The implementation of GetBlobDataFromBlobPtr calls the GetInternalUUID mojo interface method. If the renderer instead of providing a handle to a browser-process-hosted Blob object instead provides a handle to a renderer-hosted Blob implementation, then during the call to GetInternalUUID, the renderer-hosted Blob object will be freed, and the callback will be invoked with a dangling pointer.