ATL
As falhas de segurança foram encontradas na Active Template Library (ATL). O corpo da ATL é um conjunto de templates C++ que gera classes para facilitar o desenvolvimento de objetos COM.
Se você não tem alguma familiaridade com C++ e COM, a frase anterior não deve ter feito sentido. Tentando explicar
- COM (Component Object Model) é uma especificação para interface entre objetos criada pela Microsoft no começo dos anos 90. Entre seus vários usos se destacam os controles ActiveX usados (principalmente) para fornecer funcionalidades adicionais ao IE e aplicações VB.
- Um template C++ é um recurso que permite definir funções e classes usando tipos genéricos. O compilador se encarrega de gerar versões das funções ou classes específicas para os tipos necessários. Por exemplo, pode-se criar um template para uma classe que implementa uma pilha de objetos de um tipo T (genérico) e depois usar este template para declarar pilhas de tipos int, float, etc.
As Atualizações de Segurança
As atualizações liberadas ontem consistem em uma atualização da ATL e uma atualização no IE. A atualização no IE tem por objetivo evitar que as falhas na ATL sejam exploradas através de componentes hospedados no IE. Uma das possíveis explorações é burlar uma proteção usada no IE para bloquear componentes nocivos. Em outras palavras, explorando a falha na ATL pode-se "ressuscitar" falhas já bloqueadas.
Como Saber Se o Seu Componente é Afetado
O boletim de segurança da Microsoft apresenta um fluxograma (vocês ainda lembram disso) para determinar se um componente é afetado. Se não me perdi nas setas, um componente é afetado se atender a pelo menos uma das seguintes condições:
- Chame CComVariant::ReadFromStream com dados não confiáveis.
- For um componente COM, marcado como SFI, que herde de IPersistStreamInitImpl ou não herde mas chame AltPersistStreamInit_Load e use PROP_ENTRY / PROP_ENTRY_EX ou use PROP_ENTRY_TYPE / PPROP_ENTRY_TYPE_EX com VT_EMPTY, VT_DISPATCH ou VT_UNKNOWN
Fonte: The Register.
Nenhum comentário:
Postar um comentário