Soundness issue with Plonky2 look up tables
No sign of exploitation. No public exploitation artifact known so far.
Plonky2's lookup tables have a flaw where a dishonest prover can falsely prove that any function returns 0 when given 0 as input, unless the table size meets specific requirements. This breaks the security guarantee of proofs generated with affected lookup tables.
The vulnerability stems from zero-padding in LookupTableGate when table length is not divisible by 26 (floor(num_routed_wires / 3)), allowing a malicious prover to forge proofs for the f(0) = 0 input-output pair regardless of the actual lookup table contents. This soundness issue undermines the cryptographic integrity of PLONK-based SNARKs and is mitigated by padding tables to divisible lengths or upgrading to version 1.0.1.