뉴스

XRP 레저 버그 공개 — 2015년부터 있던 XRP 무단 생성 구멍, 3.4.1로 막혔어요

XRP 레저에서 2015년부터 있던 결제 엔진 버그가 공개됐어요. XRP를 없던 데서 만들어낼 수 있었지만 9월 25일 xrpld 3.4.1로 고쳐졌고, 실제 악용 흔적은 없다고 해요.

XRP 레저 버그 공개 — 2015년부터 있던 XRP 무단 생성 구멍, 3.4.1로 막혔어요

3줄 요약

  • 1XRP 레저 결제 엔진에 2015년부터 XRP를 없던 데서 만들 수 있는 버그가 있었어요.
  • 29월 22일 버그 바운티로 제보됐고, 9월 25일 xrpld 3.4.1로 고쳐졌어요.
  • 3공개 네트워크에서 악용된 흔적은 없고, XRP를 가진 분이 따로 할 일은 없어요.

AI가 쓴 글이에요. 출처를 바탕으로 자동으로 작성·발행돼요. 사람이 검수하지 않으니 사실과 다를 수 있어요. 중요한 내용은 아래 출처 링크에서 원문을 확인해 주세요.

XRP 레저에 XRP를 없던 데서 만들어낼 수 있는 버그가 있었어요. 2015년부터 있던 버그인데, 2026년 9월 25일 나온 xrpld 3.4.1에서 고쳐졌어요. 공개 네트워크에서 실제로 악용된 흔적은 없다고 공식 보고서가 밝혔어요.

XRP 레저 공식 블로그는 10월 9일(현지 기준) 취약점 공개 보고서를 냈어요. 보고서에는 버그 두 개가 담겼어요. 하나는 XRP 무단 생성 버그, 다른 하나는 배치(Batch) 기능의 검증 빈틈이에요. 이 글에서는 둘 다 쉽게 풀어볼게요.

XRP 무단 생성 버그는 어떤 구멍이었나

XRP 레저에는 거래소 기능이 체인 안에 들어 있어요. 누군가 "토큰 얼마를 XRP 얼마에 팔게요" 하고 주문(오퍼)을 걸어 두면, 결제가 그 주문들을 차례로 체결하는 구조예요.

문제는 결제 하나가 주문 여러 개를 한꺼번에 체결할 때 생겼어요. 결제 엔진은 각 주문 금액을 더해 구매자에게 청구해요. 이때 64비트 정수 덧셈을 넘침 검사 없이 했어요.

  • 정수 오버플로(Overflow) — 숫자가 담을 수 있는 한도를 넘으면 0 근처로 되돌아가는 현상이에요. 자동차 주행거리계가 999,999에서 000,000으로 넘어가는 것과 비슷해요.

그래서 주문 금액의 합이 한도를 넘으면 구매자에게는 되돌아간 작은 금액만 청구됐어요. 반대로 주문을 건 쪽은 금액을 전부 받았어요. 그 차이만큼 XRP가 새로 생기는 셈이에요.

공격에 필요했던 것

보고서에 따르면 공격 방법은 이랬어요.

  1. 보통 거래로는 체결되지 않을 가격으로 주문을 수백 개 걸어 둬요.
  2. 그 주문을 한 번에 모두 체결하도록 짠 결제를 보내요.
  3. 각 주문 금액은 정상이지만, 합계가 한도를 넘으면서 오버플로가 일어나요.

비용이 적게 들고 특별한 권한도 필요 없었어요. 보고서는 이렇게 만든 XRP가 전체 발행량보다 많을 수 있었다고 설명해요. 옮기거나 거래하거나 거래소로 보낼 수도 있었다고 해요.

안전장치도 같은 실수를 했어요

XRP 레저에는 "XRP가 새로 생기면 안 된다"는 검사 장치가 따로 있어요. 그런데 이 장치도 넘침 검사 없는 같은 덧셈을 썼어요. 그래서 금액이 어긋난 걸 잡아내지 못했어요.

제보부터 수정까지 걸린 시간

보고서에 나온 일정을 표로 정리했어요.

날짜한 일
2026년 9월 22일버그 바운티로 제보 접수, 확인 후 '치명적' 등급으로 올림
9월 22~23일비공개로 수정본 개발, 어멘드먼트 없이 바로 넣기로 결정
9월 23일수정본을 3.4.1 배포 브랜치에 합침
9월 25일xrpld 3.4.1 배포, 기본 UNL 검증자 80% 이상이 업그레이드
10월 9일공개 보고서 발표

버그를 찾은 사람은 케이든 리아오(Cayden Liao)와 베리아 AI(Veria AI)예요. 버그 바운티 프로그램으로 개념 증명까지 냈어요. 바운티 금액은 보고서에 나오지 않았어요.

어멘드먼트 없이 바로 고친 이유

XRP 레저는 보통 규칙을 바꿀 때 어멘드먼트(Amendment)를 거쳐요.

  • 어멘드먼트 — 검증자들이 투표로 새 규칙을 켜는 절차예요. 몇 주가 걸려요.

이번엔 이 절차를 건너뛰었어요. 투표하는 몇 주 동안 수정 내용이 공개되면, 그사이 누군가 버그를 노릴 수 있었기 때문이에요. 보고서는 검증자를 바로 3.4.1로 올리는 쪽이 위험이 더 작다고 판단했다고 밝혔어요.

  • UNL(Unique Node List) — 각 서버가 믿고 따르는 검증자 목록이에요. 기본 UNL 검증자 80% 이상이 배포 당일 업그레이드했어요.

함께 고친 배치 기능 버그

3.4.1에는 다른 버그 수정도 들어 있어요. 배치(Batch)는 한 계정이 거래를 최대 8개까지 하나로 묶어 보내는 기능이에요.

묶인 거래는 정해진 필드에 담아야 해요. 그런데 다른 필드에 담아도 통과되는 빈틈이 있었어요. 서버 버전마다 통과 기준이 달라 합의가 어긋날 수 있었고, 장부 기록이 잘못된 모양으로 남을 수도 있었어요.

이 버그로 잃은 돈은 없어요. 수정은 fixBatchV1_2 어멘드먼트로 들어갔고, 10월 9일 메인넷에서 켜졌어요. 같은 날 BatchV1_1도 켜졌어요.

XRP 가진 분이 할 일

거래소나 지갑에 XRP를 둔 분은 따로 할 일이 없어요. 수정은 네트워크 서버 쪽에서 끝났어요. 보고서는 공개 네트워크에서 악용된 흔적이 없다고 밝혔어요.

직접 XRP 레저 서버를 돌리는 분은 상황이 달라요. fixBatchV1_2가 켜지면서 3.4.1보다 낮은 버전 서버는 더 이상 네트워크를 따라가지 못해요. 이걸 어멘드먼트 블록(Amendment Blocked)이라고 해요. 3.4.1 이상으로 올려야 동기화가 유지돼요.

정리

  • XRP 레저 결제 엔진에 2015년부터 XRP를 없던 데서 만들 수 있는 오버플로 버그가 있었어요.
  • 9월 22일 제보, 9월 25일 xrpld 3.4.1 배포로 고쳐졌고, 악용 흔적은 없다고 해요.
  • 배치 기능 버그 수정(fixBatchV1_2)은 10월 9일 메인넷에서 켜졌어요.

XRP 레저 서버를 직접 운영한다면 버전이 3.4.1 이상인지 지금 확인해 보세요.

출처 (2개)

이 글은 아래 출처를 바탕으로 작성됐어요

함께 보면 좋아요

코인풀이 텔레그램 소통방

차트 공부부터 실시간 분석까지, 같이 이야기해요. 새 글도 여기 가장 먼저 올라가요.