🇰🇷 한글 설명
Vyper는 이더리움 가상 머신을 위한 파이썬 기반 스마트 계약 언어입니다. 0.3.4 미만 버전에서 반환 값이 없는 외부 계약을 호출할 때, 계약 주소(부수 효과 포함)가 두 번 평가될 수 있는 취약점이 발견되었습니다. 이로 인해 스마트 계약의 실행 결과가 의도와 다르게 나타날 수 있습니다.
💡 쉬운 설명
스마트 계약이 다른 계약을 호출할 때 특정 상황에서 주소를 두 번 확인하는 실수가 발생합니다. 이 과정에서 계산이 잘못되어 계약이 예상치 못한 방식으로 동작할 위험이 있습니다.
🇺🇸 원문 (English)
Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue has been addressed in v0.3.4.
📍 영향받는 시스템
Vyper versions prior to 0.3.4
⚔️ 공격 벡터
반환 값이 없는 외부 계약을 호출하는 스마트 계약 로직을 통한 조작
🛡️ 대응 방법
Vyper 버전을 0.3.4 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 0.3.4 미만인지 확인합니다.
pip show vyper | grep Version