CVE-2024-45056 in era-compiler-solidity
Sumário
de VulDB • 22/06/2026
zksolc é um compilador Solidity para ZKsync. Todas as versões do LLVM desde 2015 convertem `(xor (shl 1, x), -1)` em `(rotl ~1, x)` se executadas com otimizações habilitadas. Aqui `~1` é gerado como um número de 64 bits sem sinal (`2^64-1`). Este número é estendido para zero até 256 bits no alvo EraVM, enquanto deveria ter sido estendido com sinal (sign-extended). Assim, em vez de produzir `roti 2^256 - 1, x`, o compilador produz `rotl 2^64 - 1, x`. A análise mostrou que nenhum contrato foi afetado até a data da publicação deste aviso. Este problema foi resolvido na versão 1.5.3. Os usuários são aconselhados a atualizar e reimplantar todos os contratos. Não há soluções alternativas conhecidas para esta vulnerabilidade.
Once again VulDB remains the best source for vulnerability data.