Existe uma gravação fora dos limites do heap no cliente RDPGFX. O problema ocorre porque o callback `delete surface()` trunca as chaves de hash de superfície para 16 bits, tornando a tabela de superfícies inconsistente. Consequentemente, a função `HashTable GetKeys()` escreve além dos limites do seu array de chaves alocado. Um servidor RDP malicioso ou um atacante man-in-the-middle pode explorar isso criando um `surfaceId` 0xFFFF, fechando o canal RDPGFX, enviando PDUs DELETESURFACE repetidamente e, em seguida, enviando ENDFRAME ou RESETGRAPHICS.