아이콘(ICON) 네트워크에서 정상 서명된 출금 메시지 2개가 반복 재사용돼 재단 보유 자산 1억1986만6000 ICX와 53만1600 bnUSD가 방출됐다. 공격자는 같은 메시지를 1492회 재전송했고, 이 가운데 1490회가 처리됐다.
아이콘 재단은 8월 30일 포스트모템에서 리플레이 공격이 8월 27일 오전 11시1분2초부터 오전 11시21분12초까지 한국시간 기준 약 20분 동안 발생했다고 밝혔다. 재단은 사용자 예치금과 잔고, 포지션은 접근되거나 영향을 받지 않았다고 설명했다.
이번 사고의 핵심은 같은 서명이 새 출금 메시지처럼 반복 처리된 점이다. 재단 설명상 출금 메시지를 32바이트 고정 크기로 표준화하는 과정에서 정수 정밀도 오류가 생겼고, 무결성 검사와 암호학적 서명 검증이 서로 다른 비트를 보면서 틈이 열렸다.
무결성 검사는 시리얼 넘버의 상위 비트를 봤고, 서명 검증은 하위 256비트를 봤다. 공격자는 서명된 페이로드와 서명값은 그대로 둔 채 서명되지 않은 영역만 바꿔 다른 메시지처럼 통과시켰다.
리플레이 공격은 이미 유효했던 서명이나 거래 메시지를 다시 제출해 시스템이 중복 처리하도록 만드는 공격 방식이다. 스마트계약과 브리지, 마이그레이션 계약에서는 메시지 고유성 검증과 논스 관리가 반복 출금을 막는 핵심 장치로 작동한다.
방출 규모와 확정 손실은 구분된다. 재단이 집계한 확정 순손실은 150.2 이더리움(ETH)과 3만1204 유에스디코인(USDC)이며, bnUSD와 SODA는 전액 회수됐다.
ICX 대부분은 거래소에 동결된 상태로 추적과 회수가 진행 중이다. 재단은 방출된 자산 전체를 최종 손실로 보기는 어렵고, 거래소 협조와 법 집행기관 절차에 따라 회수 규모가 달라질 수 있다고 설명했다.
대응 지연도 포스트모템의 주요 대목이다. 첫 모니터링 경보는 8월 27일 오전 11시8분에 발생했고, 기술팀은 낮 12시40분쯤 조사에 들어갔다.
재단은 낮 12시53분 관련 계약을 멈췄다. 네트워크는 오후 3시18분54초 전면 중단됐다가 8월 28일 오후 4시51분쯤 재가동됐다.
공격자는 ICX를 여러 거래소 입금 주소로 분산했다. 재단은 관련 거래소들에 동결·보존 통지와 거래 내역을 전달했고, 계정 식별과 고객확인 자료 보존을 요청했다고 밝혔다.
다만 거래소 보유분의 정확한 동결·전환·출금 규모는 법 집행기관 절차가 진행되기 전까지 공유받기 어렵다고 재단은 설명했다. 거래소 내부 계정과 고객확인 자료는 플랫폼 운영자와 수사기관 협조가 필요한 영역이기 때문이다.
거래소들도 ICX 입출금을 일시 중단했다. 비트겟(Bitget)은 8월 27일 한국시간 오후 2시47분부터 지갑 점검을 이유로 ICX 입출금을 중단한다고 공지했고, 쿠코인(KuCoin)은 8월 28일 필수 점검을 이유로 ICX 입출금 서비스를 닫았다고 밝혔다.
Bitvavo는 8월 31일 상태 페이지를 통해 ICX 입출금 재개를 알렸다. 거래소들이 공격자 자금을 실제로 얼마나 보유했는지, 어느 규모를 동결했는지는 각 거래소 공지에서 확정되지 않았다.
이번 결함은 아이콘 구현에 특화된 문제로 정리됐다. 재단은 다른 지원 체인에서는 고정 폭 정수를 사용해 같은 불일치가 발생하지 않았다고 밝혔다.
아이콘은 이미 SODA로의 단계적 마이그레이션을 진행 중이었다. 2026년 2월 6일 공식 커뮤니티 공지는 네트워크를 유지한 상태에서 경제 활동과 보상 구조를 단계적으로 줄이는 방안을 제시했다.
서명 재사용 취약점은 다른 프로토콜에서도 반복적으로 문제가 됐다. 이미 유효한 서명이나 승인 메시지가 다시 처리되는 구조에서는 중복 실행을 막는 검증 장치가 핵심 방어선으로 꼽힌다.
재단은 재가동 과정에서 시리얼 넘버를 정확한 제한 정수 연산으로 처리하도록 수정했다. 승인된 릴레이어 주소만 출금 메시지를 제출할 수 있는 허용 목록도 추가했다.

