▲
- Uma falha no Evolution Mail permite vazamento de informações dos usuários por meio de recursos padrão de privacidade.
- O incidente levanta questionamentos sobre quem deve resolver falhas em projetos de software livre.
- A vulnerabilidade expõe dados importantes do usuário, como IP e detalhes de abertura de mensagens.
- A disputa entre membros da comunidade revela dificuldades na colaboração de código aberto.
Recentemente, uma questão de privacidade envolvendo o cliente de e-mail Evolution, parte do ambiente de desktop GNOME, gerou bastante discussão na comunidade de tecnologia. Um administrador de sistemas, Mike Cardwell, revelou uma falha que permite o vazamento de informações dos usuários através de um recurso padrão. O incidente levantou debates sobre a responsabilidade pela correção em projetos de software livre.
Como A Falha de Privacidade do Evolution Mail Funciona
No centro da questão está um recurso chamado DNS prefetching. Este é um mecanismo que um e-mail pode usar, incluindo uma tag HTML link com o atributo rel definido como dns-prefetch. Ao fazer isso, e com um domínio de origem cruzada no atributo href, o cliente de e-mail é instruído a resolver o endereço IP do domínio antecipadamente. Isso agiliza o carregamento de conteúdo remoto.
A ideia é que, para qualquer conteúdo externo, o WebKitGTK — o motor de renderização web usado pelo Evolution — deveria emitir um sinal. Este sinal, chamado WebPage::send-request, permite que o Evolution decida se bloqueia a conexão. Essa decisão se baseia na configuração “Carregar Conteúdo Remoto”, que, quando desativada, deveria impedir que rastreadores enviassem informações.
O problema, porém, é que para essas requisições de prefetch, o WebKitGTK simplesmente realiza a consulta DNS sem emitir o sinal necessário. Isso significa que as defesas de privacidade do Evolution são completamente ignoradas. Assim, quem envia o e-mail pode saber se você abriu a mensagem, o momento exato da abertura e o IP do seu resolvedor DNS, tudo sem o seu consentimento.
Além disso, a configuração enable-dns-prefetching que o Evolution utiliza para desabilitar essa função foi descontinuada desde a versão 2.48 do WebKit. Com isso, o motor não a respeita mais, deixando os usuários ainda mais expostos a essa vulnerabilidade.
Leia também:
A Disputa Entre o Sysadmin e os Desenvolvedores
A situação se tornou mais complexa quando os desenvolvedores do GNOME afirmaram que o problema estava na biblioteca WebKit, e não no Evolution em si. Milan Crha, um dos desenvolvedores do Evolution, explicou que “aplicativos usam bibliotecas, aplicativos têm suas dependências”. Para ele, a correção deveria acontecer no local correto, ou seja, na biblioteca base.
Mas Mike Cardwell, o administrador de sistemas que identificou a falha, ficou insatisfeito. Ele interpretou a postura dos desenvolvedores como uma recusa em assumir a responsabilidade pelo próprio produto. Cardwell argumentou que era dever dos desenvolvedores do GNOME proteger seus usuários. Ele chegou a sugerir várias ações que a equipe poderia tomar enquanto esperava por uma correção na biblioteca. Essas ações incluíam:
- Alertar os usuários sobre o problema, seja na interface do programa ou na página de download.
- Pressionar o projeto upstream (o WebKit) para corrigir a biblioteca rapidamente.
- Fazer um fork da biblioteca e corrigir o problema eles mesmos.
- Mudar para uma biblioteca de renderização diferente que não apresentasse a falha.
O debate esquentou ainda mais quando Cardwell descobriu uma falha mais grave. Usando uma tag link com o atributo rel definido como preconnect, era possível vazar o endereço IP real do usuário, e não apenas o IP do servidor DNS. Ele informou os desenvolvedores que adicionou essa nova descoberta ao Email Privacy Tester, uma ferramenta criada por ele para identificar exatamente esse tipo de problema.
Os desenvolvedores do GNOME não gostaram da atitude de Cardwell, considerando-a “passivo-agressiva” e suas publicações públicas como um “manchar do projeto”. Um deles chegou a chamá-lo de “com direito” e disse que sua denúncia era “contraproducente e francamente desmotivadora”. Ele foi aconselhado a “enviar patches para o WebKitGTK” se quisesse ter um impacto positivo.
A discussão terminou, por enquanto, com o bloqueio do tópico pelos desenvolvedores. Cardwell, por sua vez, sugeriu que a ação foi porque ele “feriu os sentimentos” dos envolvidos. O bug no WebKit, identificado pela primeira vez em agosto de 2023, segue sem solução. Isso mostra como, em projetos de código aberto, a colaboração e a gestão de expectativas podem ser tão complexas quanto o próprio código. Em outros cenários de tecnologia, questões de vazamento de dados e proteção da propriedade intelectual também geram grandes discussões, como quando Apple processa vazador que vazou segredos comerciais.
A comunidade de desenvolvimento de software livre frequentemente enfrenta desafios únicos. A necessidade de depender de componentes de terceiros e a dinâmica de contribuições voluntárias podem criar cenários de difícil resolução. A disputa sobre a privacidade do Evolution Mail é um exemplo clássico de como as falhas em dependências podem gerar atritos. Outros casos, como quando a Valve limita jogos adultos na Steam, gerando dúvidas entre desenvolvedores, mostram que as relações e decisões nas comunidades de software são sempre um ponto de atenção.
Este conteúdo foi auxiliado por Inteligência Artificiado, mas escrito e revisado por um humano.
Via Neowin