BTC $78,476.45 -0.78%
ETH $2,484.01 -0.02%
BNB $751.84 +1.76%
XRP $1.42 +2.03%
SOL $103.20 -0.49%
TRX $0.3381 +1.07%
DOGE $0.0896 -0.60%
ADA $0.2199 +0.39%
BCH $257.60 -0.09%
LINK $12.51 -1.75%
HYPE $84.77 -0.42%
AAVE $128.75 -2.24%
SUI $0.8127 -0.65%
XLM $0.1886 -1.94%
ZEC $1,171.19 +1.82%
BTC $78,476.45 -0.78%
ETH $2,484.01 -0.02%
BNB $751.84 +1.76%
XRP $1.42 +2.03%
SOL $103.20 -0.49%
TRX $0.3381 +1.07%
DOGE $0.0896 -0.60%
ADA $0.2199 +0.39%
BCH $257.60 -0.09%
LINK $12.51 -1.75%
HYPE $84.77 -0.42%
AAVE $128.75 -2.24%
SUI $0.8127 -0.65%
XLM $0.1886 -1.94%
ZEC $1,171.19 +1.82%

안전 회사 Dedaub가 Solidity 컴파일러의 취약점을 발견했으며, 대부분의 배포된 계약에 있는 죽은 코드가 Gas 비용을 크게 증가시킨다고 합니다

2023-02-11 11:05:11

ChainCatcher 메시지, 보안 회사 Dedaub 팀이 이더리움 프로그래밍 언어 Solidity 컴파일러의 취약점을 발견하여 배포된 계약의 바이트코드에 죽은 코드(dead code)가 포함되어 있어 스마트 계약을 배포하고 운영할 때 가스 비용이 크게 증가한다고 밝혔습니다. Dedaub는 팀이 오픈 소스 이진 분기기 Gigahorse를 평가하는 과정에서 이 오류를 발견했다고 전했습니다. 라이브러리 메서드가 계약의 생성자에 의해서만 호출될 때 이 취약점이 발생합니다.

Gigahorse 분석을 통해 Dedaub는 최소 35%의 계약에서 일부 죽은 코드가 존재하며, 그 중 33%가 실행되는 대부분의 바이트코드를 차지하고 있음을 발견했습니다. 이러한 결과는 NFT 프록시가 주도하지만, 다른 프록시 계약에서도 동일한 문제가 발생하고 있습니다. 대형 계약의 경우 이 문제는 무시될 수 있지만, 대부분의 배포된 계약은 소형 계약입니다. Dedaub 팀은 작년 11월에 이미 이 오류를 발견하고 Solidity 팀에 해당 문제를 확인할 것을 경고했습니다.(출처 링크

app_icon
ChainCatcher Building the Web3 world with innovations.