codehawks-2023-08-sparkn-l04

[L-04] Signature missing nonce & expiration deadline

보고서

Summary

nonce나 서명의 만료 기간 정보가 없으므로 서명을 재사용할 수 있다.

Keyword

replay attack, signature

Vulnerability

deployProxyAndDistributeBySignature 함수는 서명을 이용하여 리워드를 분배하는 함수이다. 이 때, 서명에 nonce나 만료 기간 데이터가 포함되지 않는다.

이 경우 서명을 재사용할 수 있다.

Impact

nonce나 서명의 만료 기간 정보가 없으므로 서명을 재사용할 수 있다.

Mitigation

서명하는 데이터에 nonce와 만료 기간 정보를 추가한다.

Memo

당장 이 취약점으로 직접적으로 공격을 할 수는 없지만, 현재 코드베이스는 초기 버전이라고 하였으므로 추후 고위험의 문제가 되는 것을 막기 위해 미리 수정할 필요가 있다고 설명을 덧붙였다.


tags: bughunting, sparkn, smart contract, solidity, replay attack, signature, severity low