Lasse Collin, o antigo mantenedor do projeto xz, transferiu os direitos para o novo mantenedor Jia Tan em 2022. A atividade de Jia Tan resultou na introdução de um backdoor. Ele publicou versões corrigidas do pacote XZ Utils 5.2.13, 5.4.7 e 5.6.2, nas quais os componentes do backdoor e outras alterações suspeitas adicionadas devido à conduta maliciosa do antigo mantenedor foram removidos.
Além disso, foi publicado um relatório sobre a revisão do repositório Git e das alterações feitas desde dezembro de 2022, durante o período em que Jia Tan foi o mantenedor. As alterações foram desmembradas até o nível de commits individuais. Os commits no repositório não foram assinados digitalmente, mas não foram encontradas evidências de falsificação por parte dos committers. No total, 8 commits maliciosos foram removidos do repositório.
O código CRC CLMUL ainda não foi removido da base de código, o que causa falsos positivos durante a verificação no MSAN (Memory sanitizer) e problemas com o OSS Fuzz. Futuramente, esse código está planejado para ser refeito, mas por ora decidiu-se não mexer nele para evitar regressões em branches antigas. Nenhuma alteração suspeita foi encontrada em commits antigos, adicionados antes das modificações relacionadas à promoção do backdoor. Os arquivos .po de localização, os metadados em arquivos tar e os arquivos com releases e traduções foram verificados separadamente.
As mudanças também incluem a incorporação de correções de bugs acumuladas e a remoção do suporte ao mecanismo IFUNC, fornecido no Glibc para chamada indireta de funções, que foi utilizado para a organização de interceptação de funções no backdoor. Foi observado que o uso do IFUNC apenas complica o código, sendo que o ganho de desempenho com isso é insignificante. Como precaução, o pacote com o código-fonte também teve o logo XZ, versões PDF das páginas man e dois testes para as arquiteturas x86 e SPARC removidos, em que arquivos objeto eram processados como dados de entrada.
Dentre as novidades do decodificador xzdec, foi adicionada a compatibilidade com a versão 4 da ABI do mecanismo de isolamento de aplicações Landlock. Scripts de build do Autotools ganharam a opção "--enable-doxygen", enquanto o script Cmake recebeu o parâmetro ENABLE_DOXYGEN para gerar e instalar a documentação da API liblzma, utilizando Doxygen. A documentação gerada anteriormente foi removida do pacote.
Fonte: opennet.ru
