PT-2026-42695 · Plonky3+1 · Plonky3+1
Publicado
2026-05-21
·
Atualizado
2026-06-10
·
CVE-2026-46654
CVSS v4.0
8.9
Alta
| Vetor | AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Nome do Software Vulnerável e Versões Afetadas
Plonky3 versões anteriores a 0.4.3
Plonky3 versões anteriores a 0.5.3
Description
Um invasor que controle as observações do lado do provador pode criar transcrições distintas que produzem desafios idênticos, quebrando a propriedade de vinculação do Fiat-Shamir. Isso ocorre devido a três vetores de ataque:
-
Aliasing de chunk parcial durante a absorção: A função
duplexing()empacotainput buffer.chunks(num f elms)usandoreduce 32sem um marcador de comprimento ou a limpeza de slots de taxa não utilizados. Isso permite que um invasor estenda ou trunque a cauda de um lote de observação sem alterar os desafios futuros. -
Squeeze não injetivo: A função
split 32decompõe células de taxa PF em dígitos de base-2^64 e os mapeia através deTF::from u64, que os reduz modF::ORDER. Valores PF distintos que diferem apenas em seus 33 bits superiores produzem sequências de desafios idênticas, enfraquecendo a entropia e permitindo a falsificação seletiva. -
Truncamento de bits altos: O cálculo
num f elms = PF::bits() / 64utiliza a divisão inteira. Para BN254 (um campo de 254 bits), isso resulta em 3 membros cobrindo 192 bits, fazendo com que os 62 bits superiores de cada palavra de digestão sejam descartados. Isso permite que resumos de hash BN254 distintos, que diferem apenas nos bits 192–253, sejam usados indistintamente.
Recommendations
Atualizar para a versão 0.4.3.
Atualizar para a versão 0.5.3.
Correção
Insufficient Verification of Data Authenticity
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Plonky3
P3-Challenger