A reforma francesa da faturação eletrónica tinha um mês. Desde 1 de setembro de 2026, todas as empresas sujeitas a IVA em França têm de poder receber faturas eletrónicas através de uma plataforma aprovada (uma plateforme agréée, ou PA), e as grandes empresas e as de dimensão intermédia têm também de as emitir por essa via. A 29 de setembro, a FACTUALI, a sociedade que explora a VosFactures, uma dessas plataformas aprovadas, foi informada de uma intrusão no seu prestador técnico, a empresa polaca Fakturownia. Dois dias depois, o Estado francês suspendia por precaução, durante alguns dias, as trocas de dados entre os seus próprios serviços e a plataforma.
É, portanto, uma história francesa e polaca. Para as empresas que usam a VosFactures — que afirma contar com «mais de 500 000 profissionais» (VosFactures) —, a questão é muito concreta: o que foi exposto, e o que devem fazer? Para todos os outros, incluindo quem, em Portugal, fatura através de um serviço online ou converte documentos em PDF no servidor de outra pessoa, o caso lembra uma evidência que se esquece com facilidade: um documento tratado num servidor também existe nesse servidor.
O que aconteceu?
O prestador publicou uma cronologia detalhada (Fakturownia, atualização de 1 de outubro). O atacante teve acesso aos sistemas desde cerca das 3h20 de 27 de setembro até cerca das 17h45 de 28 de setembro. O acesso foi cortado às 18h01, as chaves e as palavras-passe foram alteradas e o serviço passou para servidores reconstruídos «de raiz». A 29 de setembro, às 2h35, a Fakturownia acrescentou proteções adicionais… ao seu gerador de ficheiros PDF. No mesmo dia, a empresa avisou a autoridade polaca de proteção de dados (UODO), a equipa nacional polaca de resposta a incidentes (CERT Polska) e a polícia.
Foi por aí que o atacante entrou, segundo as duas empresas. De acordo com a VosFactures, explorou uma vulnerabilidade que afetava «um mecanismo de geração de ficheiros PDF a partir de modelos de faturas», o que lhe deu acesso a ficheiros de configuração que continham «chaves de aplicação e identificadores técnicos». A partir daí, conseguiu executar comandos em vários servidores e obter acesso de leitura a uma réplica da base de dados de produção (FrenchBreaches, Econostrum). O diretor técnico da Fakturownia confirmou o ponto de partida ao site polaco Niebezpiecznik: o atacante encontrou uma falha nos modelos de faturas, depois uma falha na biblioteca que gera os PDF, e extraiu daí a chave que serve para assinar as sessões dos utilizadores, o que lhe abriu o acesso ao servidor (Niebezpiecznik). A VosFactures afirma não ter «nenhum elemento» que revele um comprometimento direto do seu próprio ambiente, que detém a qualificação SecNumCloud da ANSSI — a certificação de segurança que a agência nacional francesa de cibersegurança atribui aos serviços cloud.
Que dados foram expostos?
As duas empresas não dizem exatamente o mesmo, e as suas declarações foram mudando.
Do lado polaco, a Fakturownia indica que o incidente «diz respeito a todas as contas». Os dados roubados incluem os dados das contas, os IBAN, as palavras-passe, guardadas sob a forma de hashes, as chaves de acesso às interfaces de programação (API), os montantes de todas as faturas, as fichas de clientes e fornecedores adicionadas antes de 16 de outubro de 2024 e o conteúdo completo das faturas anteriores a 22 de março de 2021. Para cerca de 2 250 contas, foram copiados todos os dados de 2022 a 2026. Os cartões de pagamento e os certificados do KSeF, o sistema nacional polaco de faturação eletrónica, não foram afetados. O primeiro comunicado, de 29 de setembro, falava de faturas anteriores a 2023; a atualização de 1 de outubro é mais precisa, e mais ampla em alguns pontos (Fakturownia). A Fakturownia comercializa também o seu software com outras marcas no estrangeiro, entre elas a InvoiceOcean no Reino Unido e a Bitfactura em Espanha. O aviso da Bitfactura, datado de 2 de outubro, precisa que o incidente «afeta todas as contas do serviço, incluindo todas as contas BitFactura» (Bitfactura); o site britânico da InvoiceOcean, por seu lado, não mostrava qualquer aviso a 11 de outubro.
Do lado francês, a VosFactures refere os dados das contas, os dos clientes e fornecedores dos seus utilizadores e uma parte dos documentos gerados (Next). Segundo a FACTUALI, os dados de cartões de pagamento não foram afetados; a declaração diz respeito ao seu ambiente seguro, sem precisar se todas as contas estão alojadas nele (Fuites Infos). Todas as chaves API foram invalidadas a 1 de outubro (Fuites Infos). O número de clientes franceses efetivamente afetados não foi divulgado.
Um atacante que se apresenta com o nome «Fingerprint» afirma ter roubado 6 terabytes de faturas; esta alegação não foi verificada (The Record). O mesmo pseudónimo já tinha reivindicado ataques a serviços médicos polacos. Apresentando-se como um «hacker ético», o autor garante não querer vender os dados; os serviços polacos suspeitam que seja polaco (Rzeczpospolita). A 1 de outubro, a Fakturownia indicava que os dados não tinham sido tornados públicos, e até 11 de outubro não tinha sido assinalada nenhuma publicação.
Porque é que o Estado francês suspendeu a plataforma?
Na manhã de 1 de outubro, segundo a FranceTransactions, a AIFE (Agence pour l'informatique financière de l'État, o organismo público que gere a informática financeira do Estado francês), responsável pelo Chorus Pro — a plataforma através da qual o setor público francês recebe as faturas —, suspendeu «a título provisório» as trocas de dados com a VosFactures. Precisou que, nessa fase, nenhum dado de faturação tinha sido transmitido à administração através desta solução, e que «nenhuma empresa poderá ser sancionada unicamente em consequência desta suspensão» (aviso da AIFE, citado pela eWatchers). A suspensão foi levantada no fim de semana de 3 e 4 de outubro. O aviso publicado em destaque pela AIFE, citado pela Next, explica que, após análise dos elementos técnicos transmitidos pela plataforma, «a situação operacional dos serviços da PA e as medidas de segurança tomadas não justificam a manutenção da suspensão»; as trocas «continuam, naturalmente, sob vigilância, como para todos os parceiros» (Next, FranceTransactions).
A decisão faz sentido. Desde 1 de setembro, uma fatura eletrónica em França tem de passar por uma plataforma aprovada, que a transmite ao destinatário e comunica alguns dos seus dados à administração (LegalPlace; explicámos a reforma em Faturação eletrónica em França: a sua fatura em PDF ainda é válida?). O setor público francês, por sua vez, já não aceita faturas por e-mail: «Já não pode enviar uma fatura em papel ou um PDF por e-mail a uma entidade pública», lembra a LegalPlace no seu guia do Chorus Pro (LegalPlace). Uma plataforma comprometida é, por isso, um elo de uma cadeia à qual toda a economia francesa está agora ligada.
Como é que um gerador de PDF pode abrir a porta de um servidor?
Nem a VosFactures nem a Fakturownia publicaram a técnica exata: sabe-se apenas que parte dos modelos de faturas e do gerador de PDF. O atacante, esse, descreveu ao site polaco Zaufana Trzecia Strona outra porta de entrada, uma injeção de SQL, que insere código nas consultas enviadas à base de dados; essa versão não foi confirmada (Zaufana Trzecia Strona). Mas a família de falhas em causa do lado do PDF é bem conhecida dos especialistas.
Para transformar um modelo de fatura em PDF, muitos serviços usam um motor que interpreta HTML — muitas vezes um navegador sem interface gráfica (headless) — que corre no servidor com privilégios alargados. Se um utilizador conseguir inserir no seu modelo código que o motor interprete, tornam-se possíveis vários ataques:
- a injeção de modelos do lado do servidor (server-side template injection), que consiste em inserir código na sintaxe do próprio modelo e pode permitir, segundo a PortSwigger, «assumir o controlo total do servidor» (PortSwigger);
- a leitura de ficheiros locais e a falsificação de pedidos do lado do servidor (SSRF): um motor HTML para PDF pode ser levado a incluir no PDF um ficheiro do servidor, ou a consultar serviços internos que expõem credenciais (Intigriti).
Já foram identificadas falhas deste tipo em ferramentas muito utilizadas: o wkhtmltopdf em 2022, por pedidos forjados para a rede interna (NVD), a biblioteca Python ReportLab em 2023, por execução de código (GitHub), e o dompdf em 2022, por execução de código através de um tipo de letra armadilhado (Positive Security). O cenário descrito pelas duas empresas — um modelo de fatura, um gerador de PDF, depois ficheiros de configuração, depois chaves, depois a base de dados — encaixa neste esquema, sem que se possa afirmar que foi isso que aconteceu.
O que devem fazer as empresas clientes?
As recomendações da Fakturownia, da VosFactures e dos juristas franceses que analisaram o caso vão no mesmo sentido (Fakturownia, Leto, Kohen Avocats):
- Mudar a palavra-passe, na VosFactures e em todos os sítios onde era reutilizada. Ativar também a autenticação de dois fatores, quando o serviço a oferece, não custa nada.
- Gerar novas chaves API se houver programas ligados à plataforma.
- Desconfiar de qualquer pedido de alteração de IBAN (em França, fala-se de alteração de RIB: o relevé d'identité bancaire, o documento com os dados da conta que os bancos franceses emitem, o equivalente ao comprovativo de IBAN). Os IBAN e as relações entre clientes e fornecedores expostos são exatamente o que é preciso para montar uma fraude do falso fornecedor. Qualquer pedido deste tipo deve ser confirmado por telefone, para um número que já conheça. Explicamos o método em Fatura falsa, IBAN falso: como detetar um PDF falsificado. Se chegar uma fatura inesperada em anexo, a ferramenta Analisar um PDF indica, sem a mostrar nem a executar, se contém código, ligações externas ou ações automáticas; não verifica o IBAN.
- Documentar o incidente. Cada empresa cliente continua a ser responsável pelo tratamento dos dados pessoais dos seus próprios clientes e fornecedores: tem de inscrever o incidente no seu registo de violações e avaliar se se impõe notificar a CNIL, a autoridade francesa de proteção de dados, no prazo de 72 horas (Leto, Kohen Avocats, CNIL).
- Não deixar de pagar unilateralmente a subscrição da plataforma, o que expõe a uma condenação ao pagamento das quantias em dívida, e guardar as provas das comunicações: notificação recebida, mensagens, registos de acesso.
E em Portugal? As faturas emitidas por programas certificados pela AT, a Autoridade Tributária e Aduaneira, têm de incluir um código QR; desde 1 de janeiro de 2023, todas as faturas, seja qual for o meio de emissão, levam o ATCUD, o código único do documento, e os seus elementos são comunicados à AT até ao dia 5 do mês seguinte, por webservice ou num ficheiro baseado no SAF-T (PT) (Portal das Finanças, Portal das Finanças, Portal das Finanças, Portal das Finanças). A fatura eletrónica é obrigatória nos contratos públicos para as grandes empresas desde 1 de janeiro de 2021 e deve sê-lo para as micro, pequenas e médias empresas a 1 de janeiro de 2027 (eSPap); para efeitos fiscais, uma fatura em PDF é aceite como fatura eletrónica até 31 de dezembro de 2026 (Lei n.º 73-A/2025, artigo 95.º), e a proposta de Orçamento do Estado para 2027, entregue na Assembleia da República a 8 de outubro e ainda por votar, adia estes dois prazos um ano (Proposta de Lei n.º 110/XVII/2.ª, artigos 77.º e 138.º). Se um prestador que trata dados pessoais por conta da sua empresa sofrer uma violação de dados, a empresa, enquanto responsável pelo tratamento, tem de notificar a CNPD, a Comissão Nacional de Proteção de Dados, no prazo de 72 horas após ter tido conhecimento da violação, a menos que esta não seja suscetível de resultar num risco para os direitos e liberdades das pessoas, e de documentar todas as violações, mesmo as que não notifica (CNPD).
O que o caso ensina para além da VosFactures
Não é um argumento contra a reforma. A fatura eletrónica visa sobretudo a fraude ao IVA, e as plataformas aprovadas são controladas pelo Estado. Mas o caso ilustra três realidades que valem para qualquer serviço online.
A segurança de um serviço é a dos seus subcontratantes. A VosFactures não foi atacada diretamente: quem foi atacado foi o seu prestador. A qualificação SecNumCloud do seu próprio ambiente não impediu a exposição dos dados tratados noutro lado.
As plataformas tornam-se alvos concentrados. Uma plataforma de faturação reúne, para milhares de empresas, IBAN, relações comerciais e montantes. É precisamente o que procuram os autores de fraudes com transferências bancárias.
Cada documento criado ou transformado num servidor é uma superfície de ataque. Gerar, juntar, converter ou comprimir um PDF num servidor implica que o ficheiro, e por vezes o código que o produz, passe por esse servidor (descrevemos esse percurso em Para onde vão os seus ficheiros quando usa um conversor PDF online?). Para as faturas oficiais em França, não há alternativa: têm de passar por uma plataforma aprovada. Para tudo o resto — juntar comprovativos, tornar mais leve uma digitalização, extrair uma página, pôr uma marca de água numa cópia —, há uma: fazer o trabalho no seu próprio computador. É o princípio do PDFKami, cujas ferramentas funcionam no navegador, sem enviar o ficheiro para lado nenhum.
Glossário
Plataforma aprovada (PA): plateforme agréée, em francês; operador registado pela administração francesa para emitir, transmitir e receber as faturas eletrónicas.
AIFE: Agence pour l'informatique financière de l'État, o organismo do Estado francês responsável pela informática financeira, que gere, entre outros, o Chorus Pro.
Chorus Pro: plataforma de faturação eletrónica do setor público francês.
SecNumCloud: qualificação de segurança dos serviços cloud atribuída pela ANSSI, a agência nacional francesa de cibersegurança.
Chave API: identificador secreto que permite a um programa ligar-se a um serviço online.
Injeção de modelos (SSTI): ataque que consiste em inserir código num modelo que o servidor interpreta.
SSRF: server-side request forgery, ou falsificação de pedidos do lado do servidor; ataque que obriga um servidor a fazer pedidos a recursos internos.
Registo de violações: registre des violations, em francês; documento que todo o responsável pelo tratamento tem de manter ao abrigo do RGPD, com a lista dos incidentes que afetam dados pessoais.