• bitcoinBitcoin (BTC) $ 115,868.00
  • ethereumEthereum (ETH) $ 4,528.25
  • xrpXRP (XRP) $ 3.00
  • tetherTether (USDT) $ 1.00
  • bnbBNB (BNB) $ 927.91
  • solanaSolana (SOL) $ 235.91
  • usd-coinUSDC (USDC) $ 0.999705
  • dogecoinDogecoin (DOGE) $ 0.267773
  • staked-etherLido Staked Ether (STETH) $ 4,520.53
  • tronTRON (TRX) $ 0.346682
  • cardanoCardano (ADA) $ 0.861738
  • wrapped-stethWrapped stETH (WSTETH) $ 5,486.71
  • chainlinkChainlink (LINK) $ 23.49
  • wrapped-beacon-ethWrapped Beacon ETH (WBETH) $ 4,882.81
  • wrapped-bitcoinWrapped Bitcoin (WBTC) $ 115,853.00
  • hyperliquidHyperliquid (HYPE) $ 53.84
  • ethena-usdeEthena USDe (USDE) $ 1.00
  • suiSui (SUI) $ 3.51
  • avalanche-2Avalanche (AVAX) $ 29.64
  • figure-helocFigure Heloc (FIGR_HELOC) $ 0.996020
  • wrapped-eethWrapped eETH (WEETH) $ 4,866.53
  • stellarStellar (XLM) $ 0.379613
  • bitcoin-cashBitcoin Cash (BCH) $ 594.39
  • wethWETH (WETH) $ 4,526.23
  • hedera-hashgraphHedera (HBAR) $ 0.234585
  • leo-tokenLEO Token (LEO) $ 9.54
  • litecoinLitecoin (LTC) $ 114.06
  • the-open-networkToncoin (TON) $ 3.15
  • usdsUSDS (USDS) $ 0.999507
  • crypto-com-chainCronos (CRO) $ 0.229127
  • shiba-inuShiba Inu (SHIB) $ 0.000013
  • coinbase-wrapped-btcCoinbase Wrapped BTC (CBBTC) $ 115,860.00
  • binance-bridged-usdt-bnb-smart-chainBinance Bridged USDT (BNB Smart Chain) (BSC-USD) $ 1.00
  • polkadotPolkadot (DOT) $ 4.19
  • whitebitWhiteBIT Coin (WBT) $ 43.76
  • world-liberty-financialWorld Liberty Financial (WLFI) $ 0.223161
  • ethena-staked-usdeEthena Staked USDe (SUSDE) $ 1.20
  • moneroMonero (XMR) $ 307.86
  • uniswapUniswap (UNI) $ 9.15
  • mantleMantle (MNT) $ 1.64
  • ethenaEthena (ENA) $ 0.704119
  • bitget-tokenBitget Token (BGB) $ 4.97
  • daiDai (DAI) $ 0.999788
  • pepePepe (PEPE) $ 0.000011
  • aaveAave (AAVE) $ 294.93
  • memecoreMemeCore (M) $ 2.50
  • okbOKB (OKB) $ 197.33
  • jito-staked-solJito Staked SOL (JITOSOL) $ 289.94
  • bittensorBittensor (TAO) $ 341.83
  • nearNEAR Protocol (NEAR) $ 2.62
  • ondo-financeOndo (ONDO) $ 1.03
  • ethereum-classicEthereum Classic (ETC) $ 20.40
  • worldcoin-wldWorldcoin (WLD) $ 1.51
  • aptosAptos (APT) $ 4.38
  • pump-funPump.fun (PUMP) $ 0.008379
  • pi-networkPi Network (PI) $ 0.359256
  • story-2Story (IP) $ 9.28
  • binance-staked-solBinance Staked SOL (BNSOL) $ 253.03
  • usdt0USDT0 (USDT0) $ 1.00
  • binance-peg-wethBinance-Peg WETH (WETH) $ 4,531.30
  • polygon-ecosystem-tokenPOL (ex-MATIC) (POL) $ 0.257498
  • usd1-wlfiUSD1 (USD1) $ 0.999839
  • arbitrumArbitrum (ARB) $ 0.491336
  • internet-computerInternet Computer (ICP) $ 4.65
  • kaspaKaspa (KAS) $ 0.084132
  • blackrock-usd-institutional-digital-liquidity-fundBlackRock USD Institutional Digital Liquidity Fund (BUIDL) $ 1.00
  • jupiter-perpetuals-liquidity-provider-tokenJupiter Perpetuals Liquidity Provider Token (JLP) $ 5.81
  • kinetic-staked-hypeKinetiq Staked HYPE (KHYPE) $ 53.89
  • susdssUSDS (SUSDS) $ 1.07
  • cosmosCosmos Hub (ATOM) $ 4.48
  • vechainVeChain (VET) $ 0.024197
  • myx-financeMYX Finance (MYX) $ 10.90
  • pudgy-penguinsPudgy Penguins (PENGU) $ 0.032763
  • rocket-pool-ethRocket Pool ETH (RETH) $ 5,170.56
  • algorandAlgorand (ALGO) $ 0.232020
  • kucoin-sharesKuCoin (KCS) $ 15.94
  • gatechain-tokenGate (GT) $ 16.96
  • kelp-dao-restaked-ethKelp DAO Restaked ETH (RSETH) $ 4,763.77
  • render-tokenRender (RENDER) $ 3.78
  • sei-networkSei (SEI) $ 0.316424
  • fasttokenFasttoken (FTN) $ 4.48
  • hash-2Provenance Blockchain (HASH) $ 0.038457
  • falcon-financeFalcon USD (USDF) $ 1.00
  • usdtbUSDtb (USDTB) $ 0.999532
  • bonkBonk (BONK) $ 0.000023
  • stakewise-v3-osethStakeWise Staked ETH (OSETH) $ 4,762.39
  • flare-networksFlare (FLR) $ 0.023066
  • official-trumpOfficial Trump (TRUMP) $ 8.53
  • bfusdBFUSD (BFUSD) $ 0.999953
  • skySky (SKY) $ 0.072386
  • fetch-aiArtificial Superintelligence Alliance (FET) $ 0.639052
  • filecoinFilecoin (FIL) $ 2.41
  • liquid-staked-ethereumLiquid Staked ETH (LSETH) $ 4,889.63
  • jupiter-exchange-solanaJupiter (JUP) $ 0.505831
  • lombard-staked-btcLombard Staked BTC (LBTC) $ 115,885.00
  • quant-networkQuant (QNT) $ 100.31
  • polygon-bridged-usdt-polygonPolygon Bridged USDT (Polygon) (USDT) $ 0.999924
  • renzo-restaked-ethRenzo Restaked ETH (EZETH) $ 4,789.60
  • tether-goldTether Gold (XAUT) $ 3,676.80
  • xdce-crowd-saleXDC Network (XDC) $ 0.076399
  • jupiter-staked-solJupiter Staked SOL (JUPSOL) $ 267.89
  • optimismOptimism (OP) $ 0.747186
  • celestiaCelestia (TIA) $ 1.69
  • injective-protocolInjective (INJ) $ 13.49
  • immutable-xImmutable (IMX) $ 0.673143
  • nexoNEXO (NEXO) $ 1.29
  • paypal-usdPayPal USD (PYUSD) $ 0.999698
  • wbnbWrapped BNB (WBNB) $ 928.93
  • mantle-staked-etherMantle Staked Ether (METH) $ 4,856.48
  • spx6900SPX6900 (SPX) $ 1.28
  • blockstackStacks (STX) $ 0.647709
  • solv-btcSolv Protocol BTC (SOLVBTC) $ 115,941.00
  • first-digital-usdFirst Digital USD (FDUSD) $ 0.997889
  • sonic-3Sonic (S) $ 0.300739
  • aerodrome-financeAerodrome Finance (AERO) $ 1.26
  • syrupusdcsyrupUSDC (SYRUPUSDC) $ 1.12
  • msolMarinade Staked SOL (MSOL) $ 311.92
  • pax-goldPAX Gold (PAXG) $ 3,692.24
  • saros-financeSaros (SAROS) $ 0.403610
  • lido-daoLido DAO (LDO) $ 1.18
  • binance-bridged-usdc-bnb-smart-chainBinance Bridged USDC (BNB Smart Chain) (USDC) $ 1.00
  • curve-dao-tokenCurve DAO (CRV) $ 0.738153
  • super-oethSuper OETH (SUPEROETH) $ 4,524.74
  • the-graphThe Graph (GRT) $ 0.093004
  • arbitrum-bridged-wbtc-arbitrum-oneArbitrum Bridged WBTC (Arbitrum One) (WBTC) $ 115,550.00
  • pyth-networkPyth Network (PYTH) $ 0.162531
  • flokiFLOKI (FLOKI) $ 0.000095
  • conflux-tokenConflux (CFX) $ 0.177367
  • kaiaKaia (KAIA) $ 0.155248
  • clbtcclBTC (CLBTC) $ 116,287.00
  • dogwifcoindogwifhat (WIF) $ 0.886456
  • cgeth-hashkey-cloudcgETH Hashkey Cloud (CGETH.HASH) $ 4,388.21
  • raydiumRaydium (RAY) $ 3.25
  • pancakeswap-tokenPancakeSwap (CAKE) $ 2.46
  • zcashZcash (ZEC) $ 50.96
  • pendlePendle (PENDLE) $ 4.93
  • fourFour (FORM) $ 2.16
  • fartcoinFartcoin (FARTCOIN) $ 0.821611
  • tezosTezos (XTZ) $ 0.778005
  • l2-standard-bridged-weth-baseL2 Standard Bridged WETH (Base) (WETH) $ 4,524.42
  • theta-tokenTheta Network (THETA) $ 0.807778
  • virtual-protocolVirtuals Protocol (VIRTUAL) $ 1.21
  • galaGALA (GALA) $ 0.016731
  • ethereum-name-serviceEthereum Name Service (ENS) $ 23.21
  • aethirAethir (ATH) $ 0.063279
  • iotaIOTA (IOTA) $ 0.187487
  • vaultaVaulta (A) $ 0.470065
  • ripple-usdRipple USD (RLUSD) $ 0.999712
  • ousgOUSG (OUSG) $ 112.58
  • the-sandboxThe Sandbox (SAND) $ 0.296332
  • jito-governance-tokenJito (JTO) $ 1.84
  • stader-ethxStader ETHx (ETHX) $ 4,840.99
  • binance-peg-dogecoinBinance-Peg Dogecoin (DOGE) $ 0.267434
  • tbtctBTC (TBTC) $ 115,529.00
  • jasmycoinJasmyCoin (JASMY) $ 0.014138
  • usdx-money-usdxStables Labs USDX (USDX) $ 0.997258
  • ondo-us-dollar-yieldOndo US Dollar Yield (USDY) $ 1.08
  • ether-fiEther.fi (ETHFI) $ 1.44
  • arbitrum-bridged-weth-arbitrum-oneArbitrum Bridged WETH (Arbitrum One) (WETH) $ 4,526.98
  • newton-projectAB (AB) $ 0.008379
  • morphoMorpho (MORPHO) $ 1.96
  • decentralandDecentraland (MANA) $ 0.335828
  • flowFlow (FLOW) $ 0.399844
  • coinbase-wrapped-staked-ethCoinbase Wrapped Staked ETH (CBETH) $ 4,980.07
  • bittorrentBitTorrent (BTT) $ 0.00000064
  • mantle-restaked-ethMantle Restaked ETH (CMETH) $ 4,855.66
  • ether-fi-staked-ethether.fi Staked ETH (EETH) $ 4,510.99
  • beldexBeldex (BDX) $ 0.082566
  • walrus-2Walrus (WAL) $ 0.414350
  • swethSwell Ethereum (SWETH) $ 4,890.50
  • usual-usdUsual USD (USD0) $ 0.997848
  • global-dollarGlobal Dollar (USDG) $ 0.999722
  • loaded-lionsLoaded Lions (LION) $ 0.017551
  • vision-3Vision (VSN) $ 0.165182
  • bitcoin-avalanche-bridged-btc-bAvalanche Bridged BTC (Avalanche) (BTC.B) $ 115,737.00
  • starknetStarknet (STRK) $ 0.129844
  • benqi-liquid-staked-avaxBENQI Liquid Staked AVAX (SAVAX) $ 36.24
  • build-onBUILDon (B) $ 0.522212
  • bitcoin-svBitcoin SV (BSV) $ 25.94
  • usddUSDD (USDD) $ 1.00
  • eigenlayerEigenCloud (prev. EigenLayer) (EIGEN) $ 1.54
  • polygon-pos-bridged-weth-polygon-posPolygon PoS Bridged WETH (Polygon POS) (WETH) $ 4,525.41
  • frax-etherFrax Ether (FRXETH) $ 4,508.76
  • bybit-staked-solBybit Staked SOL (BBSOL) $ 260.26
  • based-brettBrett (BRETT) $ 0.050309
  • true-usdTrueUSD (TUSD) $ 0.997033
  • heliumHelium (HNT) $ 2.64
  • mantle-bridged-usdt-mantleMantle Bridged USDT (Mantle) (USDT) $ 1.00
  • syrupMaple Finance (SYRUP) $ 0.430864
  • dydx-chaindYdX (DYDX) $ 0.614613
  • apecoinApeCoin (APE) $ 0.578218
  • neoNEO (NEO) $ 6.54
  • arweaveArweave (AR) $ 6.97
  • telcoinTelcoin (TEL) $ 0.004876
  • bridged-usdc-polygon-pos-bridgeBridged USDC (Polygon PoS Bridge) (USDC.E) $ 0.999702
  • polygon-pos-bridged-dai-polygon-posPolygon PoS Bridged DAI (Polygon POS) (DAI) $ 0.999768
  • coredaoorgCore (CORE) $ 0.441706
  • steakhouse-usdc-morpho-vaultSteakhouse USDC Morpho Vault (STEAKUSDC) $ 1.10
  • thorchainTHORChain (RUNE) $ 1.26
  • lineaLinea (LINEA) $ 0.028501

Succinct’s SP1 bug sparks transparency debate in ZK security

0 44

Succinct’s SP1 bug sparks transparency debate in ZK security

This is a segment from the 0xResearch newsletter. To read full editions, subscribe.

Succinct’s SP1 ZKVM has come under scrutiny after LambdaClass disclosed a critical security vulnerability in its proof generation. The exploit in version 3 of SP1, discovered in collaboration with 3Mi Labs and Aligned, stemmed from the interaction of two separate security flaws.

Succinct previously disclosed the potential exploit to its customers via Github and Telegram.

Here’s what happened in simple terms:

  1. Missing Verification Step — The system relied on a list to track key proof components but didn’t properly verify that the list was accurate. Consequently, a malicious prover could potentially manipulate it to produce invalid proofs. New checks were added to fix the oversight.
  2. Incomplete Proof Flag — A key part of SP1’s proof-checking system included a flag meant to confirm that a proof was fully executed. However, this flag wasn’t always properly enforced, leading to a potential loophole. Succinct tightened up the checks.
  3. Polynomial Evaluation Issue — An issue found in Plonky3 (a dependency of SP1), meant that it didn’t fully verify all calculations before confirming a proof was valid. Post-patch, all proof components are properly verified.

While the vulnerability was quickly addressed prior to the disclosure, the process has raised concerns about transparency in security practices for zero-knowledge virtual machines (ZKVMs). SP1’s technology is currently underpinning high profile upgrades in rollup infrastructure under development.

  • Mantle Network has integrated SP1 to transition into a zero-knowledge (ZK) validity rollup, aiming to enhance transaction finality times and support institutional-grade asset settlements.
  • The AggLayer employs SP1 to generate pessimistic proofs, ensuring the security of its cross-chain interoperability solutions.
  • Taiko has adopted SP1 as a ZK prover to secure its layer-2 execution, which uses a multi-prover system
  • Soon, a relatively new project, is building an SVM rollup framework that settles to Ethereum with ZK fault proofs powered by SP1, similar to Eclipse, although the latter uses RISC Zero instead.

Transparency and implications

LambdaClass cautioned that the full implications of the flaw required further assessment. Notably, the exploit depended on the interplay between the two issues, meaning that fixing one might not be sufficient to prevent exploitation.

LambdaClass developer known as Fede, highlighted on social media that his team felt compelled to make the disclosure public after perceiving a lack of urgency in Succinct’s communication about the issue.

Succinct’s leadership acted responsibly in fixing the issue, according to Avail’s Anurag Arjun, but he agreed better public disclosure practices are needed.

“ZKVM systems are very new and are constantly being updated, so you’d expect vulnerabilities,” Arjun told Blockworks. “In an open-source setting, anyone can run the prover, and if vulnerabilities aren’t disclosed properly, that’s definitely a risk.”

The Avail team, which uses SP1 for proof generation in its consensus mechanism, was informed about the issue privately ahead of public disclosure, Arjun confirmed.

Avail’s implementation was not exposed to risk, Arjun said, because they rely on Succinct’s proprietary prover, which remains permissioned. Avail’s rollup clients have also not yet begun using its SP1-powered bridge contract, so there was no practical impact.

Meanwhile, defenders of Succinct point out that responsible disclosure typically involves private reporting before public statements to avoid unnecessary panic and potential exploitation.

Succinct’s updated version 4 of SP1 — dubbed Turbo — resolves the identified vulnerability, and downstream projects have begun integrating these fixes.

The case illustrates how even well-audited code can and does contain bugs. As Succinct put it, “while auditors provide valuable insights, they are not infallible, and we remain committed to continuously improving and working hard to ensure our systems are safe and secure for everyone.”

The more explicit, if belated transparency from Succinct drew praise. What remains is the question of how to best balance security, transparency, and user protection. And finding the line between due criticism and toxic infighting.

Source

Leave A Reply

Your email address will not be published.