
비츠랩 산하 톤피트, TON 가상 머신의 또 다른 주요 취약점 발견해 TON 공식 감사 받다
저자: TonBit
서론:
BitsLab 산하의 TonBit가 TON 가상 머신(TVM)의 또 하나의 핵심 취약점을 발견하였으며, 이에 대해 TON 공식 팀이 감사를 표했습니다. INMSGPARAM 명령어는 메시지 파라미터 처리 시 널 포인터 검사를 수행하지 않아 TON 가상 머신이 충돌할 수 있는 위험이 있습니다.
TON 공식팀의 취약점 수정 및 TonBit에 대한 감사 내용은 다음 링크에서 확인 가능합니다:
https://github.com/ton-blockchain/ton/releases/tag/v2025.06

최근 BitsLab 산하 TonBit는 최신 TVM 소스 코드(master 브랜치 / TON v2025.04)에서 심각한 보안 위험을 발견했습니다. 바로 INMSGPARAM 명령어가 메시지 파라미터를 처리할 때 널 포인터 검사를 하지 않아 TON 가상 머신이 다운될 수 있는 문제입니다. 이 취약점 역시 TVM의 깊숙한 호출 흐름 내부에 숨겨져 있으며, 공격자는 특수하게 조작된 메시지 파라미터를 통해 VM 실행 도중 null pointer dereference를 유발함으로써 실행 중단을 초래할 수 있고, 이는 스마트 계약 실행의 가용성과 안정성에 심각한 영향을 미칠 수 있습니다. 아래 기술 세부 사항은 개발자들의 심층적인 분석과 예방을 위해 그대로 유지되었습니다.

저희는 TVM11이 본격적으로 론칭되기 전에 해당 취약점을 발견하고 즉시 Ton Core 팀에 보고하여, 체인 상의 어떠한 자산도 보안 리스크에 노출되지 않도록 방지했습니다. Ton Core 팀은 저희의 보고서를 신속히 분석하여 정식 출시 전에 이를 수정하였으며, 보상금과 함께 공개적으로 감사를 표했습니다. Ton Core 팀의 전문성과 책임감 있는 태도에 진심으로 감사드립니다.
영향을 받는 코드(crypto/vm/tonops.cpp 위치)는 다음과 같습니다:

근본 원인:
다음 코드 라인
Ref t = get_param(st, inmsgparams_idx).as_tuple();
변수 t가 nullptr인지 여부를 검사하지 않고 있습니다. 만약 c7 레지스터의 슬롯 0에 위치한 튜플의 17번째 요소가 Tuple 타입이 아닌 경우, as_tuple() 함수는 널 포인터를 반환하게 됩니다. 이 널 포인터 t가 tuple_index 함수에 전달되면 널 포인터 역참조(null pointer dereference)가 발생하며, 결과적으로 가상 머신이 충돌하게 됩니다. 이러한 심각한 오류는 글로벌 버전 11(Global Version 11)에서 안정적으로 재현 가능합니다.
POC 코드:

로컬 테스트를 용이하게 하기 위해(글로벌 버전은 일반적으로 체인 설정에 의해 결정됨), run_vm_code 함수 내에서 가상 머신 초기화 과정을 수정하여 global_version을 강제로 11로 설정하였습니다:
POC 코드를 crypto/test/vm.cpp 파일에 복사하세요.
위와 같은 방법으로 run_vm_code를 수정하고 global_version을 11로 설정하세요.

test-vm 실행 파일을 컴파일하고 실행하세요.
충돌 현상:
가상 머신은 널 포인터 역참조로 인해 충돌합니다:

요약하면, BitsLab 산하의 TonBit는 "보안에 몰두하고 책임 있게 공개한다(深耕安全、责任披露)"는 원칙을 지속적으로 고수하며, TON 가상 머신 코어 코드 내에서 핵심적인 취약점을 꾸준히 발굴하고 수정해 왔습니다. RUNVM 명령어의 비원자적 상태 전이 문제에서부터 이번 INMSGPARAM 명령어의 널 포인터 역참조 문제까지, TonBit는 전문적인 기술 역량과 신속한 대응 속도를 바탕으로 항상 Ton Core 팀에 가장 먼저 보고하고 수정을 지원함으로써 체인 상 자산의 보안을 효과적으로 수호하는 동시에, TVM의 안정성과 신뢰성을 제고하는 데 기여하였습니다. 앞으로도 TonBit는 Ton Core 팀과 커뮤니티와 긴밀히 협력하여 더욱 견고한 Web3 보안 방어 체계를 구축해 나갈 것입니다.
TonBit 소개
TonBit는 BitsLab의 핵심 서브브랜드로서, TON 생태계 내의 보안 전문가이자 초기 구축자입니다. TON 블록체인의 주요 보안 보장 제공업체로서, TonBit는 Tact 및 FunC 언어의 스마트 계약 코드 감사 등 포괄적인 보안 감사를 전문으로 하며, TON 기반 프로젝트들이 완전성과 회복력을 갖추도록 보장합니다. 지금까지 Catizen, Algebra, UTonic 등 다수의 유명 프로젝트의 성공적인 감사를 수행하며 여러 핵심 취약점을 발견함으로써, 블록체인 보안 분야에서의 뛰어난 역량을 입증하였습니다. 또한 TonBit는 TON CTF 대회를 성공적으로 개최하여 많은 참가자들을 유치하고 광범위한 관심을 받았으며, TON 생태계 내 보안 전문가로서의 입지를 더욱 공고히 하였습니다. 앞으로도 TonBit는 블록체인 보안을 든든하게 수호하며 기술과 생태계의 지속적인 발전을 추진해 나갈 것입니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














