漏洞描述:
Windows OLE 是一种允许嵌入和链接到文档及其他对象的技术。 该漏洞位于ole32.dll!UtOlePresStmToContentsStm。该函数的目的是将 OLE 存储中的“OlePres”流中的数据转换为适当格式的数据,并将其插入到同一存储中的“CONTENTS”流中。它接收指向IStorage存储对象的指针和三个不太重要的参数。代码没有考虑到UtReadOlePresStmHeader可能会失败的事实 。如果发生这种情况,pstmContents仍将指向释放的指针,然后将进入清理代码,这将再次释放指针。因此,会发生双重释放的情况。