PT-2026-42695 · Plonky3+1 · Plonky3+1

Publicado

2026-05-21

·

Atualizado

2026-06-10

·

CVE-2026-46654

CVSS v4.0

8.9

Alta

VetorAV: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:
  1. Aliasing de chunk parcial durante a absorção: A função duplexing() empacota input buffer.chunks(num f elms) usando reduce 32 sem 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.
  2. Squeeze não injetivo: A função split 32 decompõe células de taxa PF em dígitos de base-2^64 e os mapeia através de TF::from u64, que os reduz mod F::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.
  3. Truncamento de bits altos: O cálculo num f elms = PF::bits() / 64 utiliza 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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-46654
GHSA-VJ64-RJF3-W3V7

Produtos afetados

Plonky3
P3-Challenger