O kernel GNU Linux-libre 5.7 acaba de ser lançado alguns dias após a chegada dokernel Linux 5.7 no fim de semana passado. No entanto, a lista de discussão info-gnu estava com problemas de lentidão e somente agora, portanto, está no ar com a versão mais recente do kernel Linux. Uma mudança interessante é que o GNU Linux-libre 5.7-gnu está descartando a atenuação de segurança Intel Gen7 “iGPU Leak”.
Alexandre Oliva, da FSF Latin America, anunciou o GNU Linux-libre 5.7-gnu como a versão mais recente de seu kernel baseado no Linux 5.7. A principal diferença para o original desenvolvido por Linus Torvalds é que, aqui, é retirado o suporte para o carregamento de módulos de kernel apenas binários, drivers que dependem de firmware ou microcódigo não livres e outras restrições em nome da liberdade de software.
No GNU Linux-Libre 5.7 lançado, algumas das limpezas adicionais incluem:
A versão 5.7 removeu o driver i1480 uwb que costumávamos limpar, mas adicionamos um driver criptográfico para o Marvell OcteonTX CPT, para Mediatek MT7622 WMAC, para Qualcomm IPA, para Azcomq IQS620A / 621/622/624/625 Multi de função, para o relógio IDT 82P33xxx PTP e um driver de barramento Modem Host Interface (MHI), todos os quais exigiam limpeza. Na verdade, o bus MHI é provisório: eu não conseguia entender o que ele carrega, então eu o bloquei de maneira conservadora no caso provável de ser um software não-livre.
Alguns ajustes adicionais foram necessários devido à introdução da função firmware_request_platform na interface de carregamento de firmware, da variedade usual de falsos positivos em todo o mundo e ajustes de blob em AMD GPU, arquivos Arm64 DTS, Meson VDec, Realtek Bluetooth, m88ds3103 dvb front-end, Mediatek mt8173 VPU, Qualcomm Venus, Broadcom FMAC, Mediatek 7622 e 7663 wifi, tela sensível ao toque silead x86; do movimento do driver phy mscc limpo (e dos novos nomes de blobs) e da documentação wd719x na árvore de origem; e de algo muito inesperado: a introdução de blobs binários como matrizes de números no código fonte dos gen7 i915 gpus.
Infelizmente, não consegui encontrar fontes correspondentes para os novos blobs binários introduzidos de maneira tão antiquada, e eles são grandes o suficiente e não são regulares o suficiente para que eu pudesse assumir que são dados e não código, então os removi . Se você encontrar o código-fonte desses bits ou me explicar como são transparentes e triviais, uma vez desmontados com as ferramentas gratuitas existentes, ficarei feliz em restaurá-los.
A limpeza da Qualcomm não é muito surpreendente, dado todo o código que foi implementado neste ciclo para beneficiar seus SoCs e dispositivos diferentes agora com melhor suporte para upstream, embora menos ainda ao usar o kernel GNU Linux-libre, devido à dependência do firmware binário.
Mais surpresas
Também introduz novos nomes de blobs nos arquivos AMDGPU, arquivos Arm64 DTS, Broadcom FMAC, frontend m88ds3103 DVB, Mediatek mt8173 VPU, Mediatek mt8173 VPU, Mediatek 7622 e 7663 WiFi, Meson VDec, Qualcomm Venus, Realtek Bluetooth e drivers de tela sensível ao toque Silead x86.
Alguns blobs binários executáveis “antiquados” que foram disfarçados como matrizes de números foram removidos desta versão, que foram adicionados ao driver gráfico Intel i915 OpenGL para uso nas GPUs Intel de 7a geração.
Entre outras mudanças, o kernel do GNU Linux-Libre 5.7 deixa de limpar o driver USB i1480, pois foi removido do kernel 5.7 do Linux, implementa algumas alterações para lidar com as recentes modificações na interface de carregamento do firmware e permite a substituição específica de entrada de padrões de correspondência de blob padrão.
Por último, o autoteste do deblob-check agora deve funcionar com o traço. O kernel GNU Linux-Libre 5.7 também adiciona novos nomes de blob e vários ajustes para o driver mscc PHY e a documentação do wd719x.
A “introdução de blobs binários como matrizes de números” são kernels compilados para limpar os contextos residuais da UE/ L3 ao lidar com essa vulnerabilidade. Conforme observado no código-fonte, esses kernels foram compilados usando o IGT de código aberto da Intel e são pré-compilados para Haswell e Ivy Bridge para emissão rápida e fácil de seu driver de kernel.
Quem quiser mais informações sobre esses “blobs binários” podem encontrá-los por meio desse commit.
É esperado que o próximo kernel GNU Linux-libre acabe mudando sua posição quanto a isso, mas, por enquanto, ele coloca o kernel em risco para esta vulnerabilidade do Intel iGPU Leak. Pelo menos em relação aos pesquisadores da universidade que descobriram essa vulnerabilidade gráfica da Intel, o iGPU Leak pode ser usado para impressões digitais de sites, ataques AES e outras exposições.
Você pode baixar o kernel GNU Linux-Libre 5.7 agora mesmo no site oficial.