.
A plataforma online de design gráfico Canva procurou problemas de segurança em fontes e encontrou três – em “lugares estranhos”.
Em seu blog de engenharia, a empresa australiana explicou que está “procurando continuamente maneiras de aumentar a segurança de [its] processos, software, cadeia de suprimentos e ferramentas”, levando-o às “superfícies de ataque menos exploradas, como fontes que apresentam uma parte complexa e predominante do processamento gráfico”.
Esse esforço rendeu três vulnerabilidades relacionadas ao tipo.
CVE-2023-45139 é um bug de alta gravidade (7.5/10) que descreve um problema que o Canva encontrou em FontTools – uma biblioteca para manipulação de fontes, escrita em Python. O pacote pode usar um arquivo XML não confiável ao processar uma tabela SVG na tentativa de criar subconjuntos de uma fonte (ou seja, reduzir seu tamanho eliminando scripts desnecessários). Os pesquisadores usaram esse método para produzir uma fonte subconjunto com uma tabela SBG que incluía uma entidade resolvida em um arquivo de senha.
CVE-2024-25081 e CVE-2024-25082 são ambos classificados como 4,2/10 e estão associados, respectivamente, a convenções de nomenclatura e compactação.
Ferramentas como FontForge e ImageMagick podem renomear nomes de arquivos de fontes, permitindo que os usuários trabalhem em um sistema de nomenclatura complexo para localizar melhor a fonte desejada dentro de uma coleção. No entanto, a necessidade de preservar o nome do arquivo pode levar a desafios de segurança ao operar com dados não confiáveis, explicou Canva.
Os pesquisadores conseguiram construir uma prova de conceito simples na forma de uma execução de shell que permitiu ao FontForge abrir arquivos aos quais não deveria ter acesso – o que é ruim.
As fontes geralmente são distribuídas como arquivos compactados – uma abordagem que ajuda a reduzir seu tamanho e agrupar famílias de fontes. No entanto, quando ferramentas como o FontForge acessam o arquivo e modificam os arquivos no localeles primeiro extraem um diretório temporário para trabalhar neles.
“Uma vulnerabilidade foi descoberta quando o FontForge analisa o Índice (TOC) para um arquivo compactado. O TOC é uma lista de todos os arquivos compactados no arquivo e o FontForge usa isso para extrair um arquivo de fonte para executar ações”, explicou Canva.
“O nome do arquivo vem da função ArchiveParseTOC, o que significa que podemos criar um arquivo contendo um nome de arquivo malicioso, ignorando as técnicas tradicionais de higienização de nome de arquivo e acionando nossa exploração.”
Usando esse método, os pesquisadores conseguiram injeção de comando no FontForge – o que eles alertaram ser uma possibilidade tanto no modo servidor quanto no aplicativo desktop.
Canva enfatizou que o cenário das fontes está repleto de superfícies de ataque, já que tanto empresas quanto indivíduos exigem uma tipografia única – cada uma com suas próprias especificações.
É um problema de longa data que o Google até lançou um olhar crítico em 2015, quando o Project Zero lançou uma série de blogs sobre segurança de fontes. Naquela época, a maioria dos problemas estava relacionada a bugs de corrupção de memória durante o processamento de fontes.
O Canva defende tratar as fontes como qualquer outra entrada não confiável. “Esperamos ver mais pesquisas sobre segurança de fontes no futuro, porque acreditamos que é uma área que ainda carece de maturidade em segurança”. ®
.