라이트코인(LTC) 개발진이 프라이버시 확장 기능인 밈블윔블 확장 블록(MWEB) 구현에서 ‘치명적 검증 결함’이 발견됐다고 공개했다. 이 결함을 악용하면 공격자가 실제보다 훨씬 큰 금액을 체인 밖으로 빼내는 ‘페그아웃(pegout)’을 만들어낼 수 있었고, 실제로 2026년 3월 8만5034.47285734 LTC가 부풀려진 페그아웃이 발생했다.
사후 분석 보고서는 라이트코인 개발자 데이비드 버켓(David Burkett)이 4월 28일 공개했다. 개발진은 채굴풀과의 ‘긴급 공조’와 단계적 패치 배포로 회계 불균형을 해소했고, 결과적으로 확인된 사용자 자금 손실은 없었다고 밝혔다.
핵심 원인: 블록 연결 과정에서 빠진 검증 체크…작은 입력이 큰 페그아웃으로 둔갑
문제의 뿌리는 MWEB 블록을 체인에 ‘연결(connect)’하는 경로에서 특정 검증 체크가 빠져 있었던 점이다. MWEB 입력(input)은 이전 MWEB 출력(UTXO)을 참조하면서 잔액·지출 검증에 쓰이는 메타데이터를 함께 담아야 하고, 이 메타데이터는 실제로 소비(spend)되는 UTXO와 반드시 일치해야 한다.
보고서에 따르면 일반적인 멤풀 및 블록 생성 경로에서는 해당 검증이 존재했지만, 블록 연결 경로에서는 완전히 강제되지 않았다. 그 빈틈을 이용해 공격자는 실제 입력 가치가 ‘최대 1.2084693 LTC를 넘지 않는’ 것으로 추정되는 작은 입력에 가짜 커밋먼트 데이터를 붙여 8만5034.47285734 LTC 규모의 페그아웃을 만들어냈고, 이를 투명 주소로 보낸 뒤 3개 아웃포인트로 쪼갰다. 다만 이런 형태의 악용은 정상 트랜잭션 릴레이·블록 구성 체크를 우회해야 해, 공격자가 직접 블록을 채굴했거나 비정상 MWEB 데이터를 포함해줄 채굴자를 확보했을 가능성이 전제된다.
채굴풀 비공개 공조로 추가 확산 차단…동결·복구 트랜잭션으로 균형 회복
개발진은 취약점이 이미 악용된 사실을 확인한 뒤, 즉시 주요 채굴풀과 비공개로 공조해 추가 공격 블록 생성을 막는 데 초점을 맞췄다. 이 과정에서 라이트코인 코어 0.21.5와 0.21.5.1이 ‘채굴자 중심’ 긴급 배포 형태로 나왔고, 0.21.5.1은 이미 받아들여진 악용 블록에 대한 ‘과거 예외(historical exception)’를 추가하는 한편 공격자가 통제하던 3개 투명체인 출력의 지출을 일시적으로 거부하도록 했다.
공격자는 이후 동결된 출력 중 최소 1개를 쓰려 했지만 업데이트된 채굴자들이 이를 거부했다. 개발진이 공격자와 접촉한 끝에 공격자는 ‘850 LTC 바운티’를 제외한 금액을 반환하는 복구 트랜잭션에 서명했고, 8만4184.47278630 LTC가 회수 주소로, 850 LTC가 공격자 주소로 지급됐다. 보고서는 찰리가 바운티 공백을 메우기 위해 850 LTC를 매수했다고 덧붙였으며, 전체 8만5034.47285734 LTC는 블록 높이 3,078,098에서 다시 MWEB로 페그인(pegin)된 뒤 해당 출력이 동결돼 MWEB 내부 공급 균형을 복원하면서도 재조정 물량이 유통되지 않도록 설계됐다.
4월엔 동일 경로 시도하다 ‘변이 블록’ DoS로 13블록 무효 체인…외부 서비스 손실도
두 번째 사건은 4월 25일 블록 높이 3,095,931에서 발생했다. 다른 행위자가 같은 악용 경로를 시도했지만 업데이트된 노드는 잘못된 MWEB 데이터를 거부했고, 그 과정에서 별도의 ‘변이(mutated) 블록’ 처리 문제가 드러나 서비스거부(DoS) 형태로 번졌다. 일부 직렬화된 MWEB 바디 데이터가 라이트코인 블록 해시를 바꾸지 않은 채 변형될 수 있었고, 업데이트된 노드가 P2P로 이런 블록을 받으면 적용 과정에서 실패해 ‘BLOCK_MUTATED’로 분류한 뒤 해당 해시에 대한 불량 직렬화 데이터를 유지해 이후 정상 블록 처리와 submitblock 같은 채굴 RPC 흐름을 방해할 수 있었다.
결국 업데이트되지 않았거나 MWEB 검증을 충분히 강제하지 못한 채굴자들이 무효 체인을 늘리면서 블록 높이 3,095,943까지 총 13개의 ‘무효 블록’이 생성됐고, 이후 업데이트된 채굴자들의 공조로 유효 체인이 이를 따라잡으며 무효 체인이 정리(reorg)됐다. 개발진은 이는 유효한 라이트코인 히스토리를 되돌린 것이 아니라 ‘무효 체인’이 제거된 것이라고 강조했다. 다만 외부 인프라는 타격을 받았는데, 보고서에 따르면 니어프로토콜(NEAR) 생태계의 NEAR Intents가 1만1000 LTC를 7.78814476 BTC로 스왑 처리했다가 해당 LTC가 유효 체인에서 제거되며 “큰 손실”을 봤고, THORChain에서도 10 LTC가 0.00719957 BTC로 교환된 뒤 리오그로 라이트코인 측 거래가 무효화됐다. 라이트코인 코어 0.21.5.4는 ‘변이 블록’으로 분류된 블록의 저장 데이터를 삭제해 동일 해시에 대해 이후 정상 데이터를 다시 받아들일 수 있도록 수정했으며, 개발진은 채굴자·거래소·서비스 사업자에 0.21.5.4 이상으로의 업그레이드와 동기화 상태 점검을 재차 촉구했다. 한편 기사 작성 시점 라이트코인(LTC)은 55.95달러로, 원화로는 약 8만2812원(1달러=1480.40원 기준)에 거래됐다.
