OSDN Git Service

Fix SF security vulnerability: 32660278
authorFabien Sanglard <sanglardf@google.com>
Tue, 8 Nov 2016 23:31:32 +0000 (15:31 -0800)
committerFabien Sanglard <sanglardf@google.com>
Wed, 9 Nov 2016 00:08:45 +0000 (00:08 +0000)
Because of lack of mutex lock when get mSidebandStream, if one thread
getSidebandStream, another thread setSidebandStream frequently, an UAF
will be triggered.

Bug: 32660278
Test: Marlin device with poc
Change-Id: Idbcf0976ce2db682d0f13455105c45a5c7481a45

libs/gui/BufferQueueConsumer.cpp

index d62eaf7..bc6f3f0 100644 (file)
@@ -517,6 +517,7 @@ status_t BufferQueueConsumer::setTransformHint(uint32_t hint) {
 }
 
 sp<NativeHandle> BufferQueueConsumer::getSidebandStream() const {
+    Mutex::Autolock lock(mCore->mMutex);
     return mCore->mSidebandStream;
 }