安全会社Dedaubは、Solidityコンパイラに脆弱性が存在することを発見しました。多数のデプロイ済みコントラクトにおけるデッドコードが、ガス費用を大幅に増加させています。
ChainCatcher のメッセージ、セキュリティ会社 Dedaub チームは、イーサリアムプログラミング言語 Solidity コンパイラに脆弱性が存在することを発見しました。この脆弱性により、デプロイされたコントラクトのバイトコードにデッドコード(dead code)が含まれ、スマートコントラクトのデプロイと操作時にガス費用が大幅に増加します。Dedaub は、チームがオープンソースのバイナリデバイダー Gigahorse を評価している際にこのエラーを発見したと述べています。ライブラリメソッドがコントラクトのコンストラクタによってのみ呼び出される場合、この脆弱性が発生します。Gigahorse の分析を通じて、Dedaub は少なくとも 35% のコントラクトにデッドコードが存在し、そのうち 33% が実行されるバイトコードの大部分を占めていることを発見しました。これらの結果は NFT プロキシが主導していますが、他のプロキシコントラクトにも同様の問題があります。大規模なコントラクトではこの問題は無視される可能性がありますが、ほとんどのデプロイされたコントラクトは小規模なものです。Dedaub チームは昨年 11 月にこのエラーを発見し、Solidity チームにこの問題の確認を促しました。(ソースリンク)