본문 바로가기
코인레이더 코인레이더

Polygon PoS Austin·Kyoto 하드포크, Bor·Heimdall 보안 취약점 선제 패치

cryptoqri

Polygon Labs가 Polygon PoS 네트워크의 Bor와 Heimdall 클라이언트에서 발견된 여러 보안 및 네트워크 안정성 문제를 공개했습니다.

중요한 점은 이번 발표가 실제 해킹 피해가 발생했다는 내용이 아니라는 것입니다.

Polygon은 문제가 악용되기 전에 수정사항을 비공개로 먼저 배포하고 Amoy 테스트넷에서 검증한 뒤 메인넷에 적용했습니다.

이후 Austin과 Kyoto 두 하드포크가 메인넷에서 활성화되고 충분한 노드가 안전한 버전으로 전환된 뒤인 2026년 8월 27일 취약점의 구체적인 내용을 공개했습니다.

Polygon에 따르면 현재까지 이번에 공개된 취약점이 메인넷에서 실제 공격에 이용돼 네트워크 장애나 자금 손실을 일으킨 흔적은 확인되지 않았습니다.

Polygon에서 실제 해킹이 발생한 것일까?

아닙니다.

이번 사건은 해킹 피해를 수습하기 위한 하드포크가 아니라 악용 가능성이 발견된 취약점을 선제적으로 수정한 보안 업데이트입니다.

Polygon PoS는 크게 Bor와 Heimdall이라는 두 핵심 클라이언트로 구성됩니다.

Bor는 Polygon PoS의 블록 생성과 EVM 실행을 담당하는 클라이언트입니다.

Ethereum의 실행 클라이언트와 비슷한 역할을 하며 거래를 실행하고 블록을 처리합니다.

Heimdall은 검증자와 체크포인트, 마일스톤, 스테이킹 정보 등을 관리하는 합의 관련 계층입니다.

이번에 발견된 문제는 이 두 영역에 각각 존재했습니다.

Bor에서는 블록 처리 과정에 서비스 거부 공격을 일으킬 수 있는 두 가지 경로가 확인됐고, Heimdall에서는 검증자 전체에 과도한 연산을 유발하거나 체크포인트·마일스톤 처리에 영향을 줄 수 있는 여러 문제가 발견됐습니다.

Austin 하드포크는 Bor에서 무엇을 고쳤을까?

Bor v2.10.0에 포함된 Austin 하드포크에서는 크게 두 가지 서비스 거부 공격 가능성이 수정됐습니다.

첫 번째는 State Sync 가스 제한 문제입니다.

Polygon에서는 Ethereum에서 Polygon으로 자산을 이동하는 과정에서 L1에서 발생한 이벤트가 Polygon PoS에서 State Sync 이벤트로 처리됩니다.

이 과정에서도 스마트컨트랙트와 프리컴파일 코드가 실행되기 때문에 실제 계산 자원이 사용됩니다.

하지만 기존 Bor에서는 한 블록 안에서 State Sync가 사용할 수 있는 가스에 명확한 상한이 없었습니다.

따라서 매우 많은 State Sync 이벤트를 한 블록에 넣거나 계산량이 큰 이벤트를 포함시키면 블록 처리 시간이 지나치게 길어질 가능성이 있었습니다.

최악의 경우 일시적으로 체인 처리가 멈추는 상황까지 발생할 수 있었습니다.

Austin 하드포크에서는 한 블록에서 State Sync가 사용할 수 있는 가스에 명시적인 제한을 추가했습니다.

일반 거래에 블록 가스 한도가 있는 것과 비슷한 보호장치를 State Sync에도 적용한 것입니다.

TxDependency 문제는 왜 위험했을까?

Austin에서 수정된 두 번째 문제는 TxDependency라는 데이터 필드입니다.

Bor는 블록 안의 여러 거래를 병렬로 처리할 때 어떤 거래들이 서로 충돌하지 않는지 알려주는 힌트로 TxDependency 데이터를 사용해왔습니다.

문제는 이 필드의 크기에 제한이 없었다는 것입니다.

악의적인 블록 생성자가 정상적으로 보이는 블록 안에 비정상적으로 큰 TxDependency 데이터를 포함시킬 경우 해당 블록을 받은 다른 노드가 처리 과정에서 충돌하거나 종료될 가능성이 있었습니다.

즉 공격자가 직접 자산을 탈취하는 방식은 아니지만 다수 노드를 중단시켜 네트워크 가용성을 떨어뜨릴 수 있는 서비스 거부 공격 경로였습니다.

Austin은 TxDependency 필드를 네트워크 데이터 형식에서 아예 제거했습니다.

Polygon은 병렬 거래 실행 자체가 이 필드를 반드시 필요로 하는 것은 아니기 때문에 제거하더라도 일반적인 거래 처리에는 영향을 주지 않는다고 설명했습니다.

Bor 취약점으로 체인 합의가 조작될 수도 있었을까?

Polygon의 설명에 따르면 이번 Austin 취약점은 합의 규칙 자체를 잘못 계산하게 만드는 문제는 아니었습니다.

핵심 위험은 리소스 고갈과 서비스 거부입니다.

즉 공격자가 마음대로 거래 기록을 변경하거나 검증자 집합을 조작하는 취약점이라기보다 노드가 지나치게 많은 작업을 처리하도록 만들어 느려지거나 중단되도록 할 수 있는 문제였습니다.

Polygon은 두 취약점 모두 메인넷에서 실제 장애를 일으킨 사례는 확인하지 못했다고 밝혔습니다.

취약점이 실제 공격에 이용되기 전에 패치됐다는 설명입니다.

Kyoto 하드포크는 Heimdall에서 무엇을 고쳤을까?

Heimdall v0.11.0에 적용된 Kyoto 하드포크는 Austin보다 수정 범위가 넓습니다.

ABCI와 마일스톤, Bor 연동, 스테이킹, Topup, Clerk, 브리지 처리 등 여러 영역에 보안 강화와 입력 검증 기능이 추가됐습니다.

이 가운데 Polygon이 가장 심각한 문제로 설명한 것은 중첩된 google.protobuf.Any 데이터 처리 문제입니다.

Heimdall 거래에서는 여러 메시지를 Any라는 데이터 구조 안에 넣을 수 있습니다.

그런데 기존에는 Any 안에 다시 Any를 넣는 중첩 깊이에 제한이 없었습니다.

공격자가 비정상적으로 깊게 중첩된 거래 하나를 만들면 전송 비용은 상대적으로 작으면서도 이를 처리하는 모든 검증자가 상당한 디코딩 작업을 해야 할 가능성이 있었습니다.

한 명의 공격자가 검증자 전체에 동시에 과도한 연산을 요구할 수 있는 구조였던 것입니다.

검증자 전체에 부담을 주는 거래는 어떻게 차단했을까?

Kyoto에서는 거래를 본격적으로 처리하기 전에 데이터 구조를 먼저 검사합니다.

Any 데이터가 정해진 깊이를 넘어 중첩돼 있으면 해당 거래를 거부합니다.

이 검증은 거래가 멤풀에 들어올 때 사용하는 CheckTx와 실제 합의 과정에서 사용하는 ProcessProposal 양쪽에 동일하게 적용됩니다.

한 경로에서는 거래를 허용하고 다른 경로에서는 거부해 검증자 사이에 서로 다른 결과가 발생하는 상황도 방지한 것입니다.

Polygon은 정상적인 거래가 사용하는 중첩 수준보다 충분히 높은 곳에 제한선을 설정했기 때문에 일반적인 이용자의 거래에는 영향을 주지 않는다고 설명했습니다.

수수료 코인을 무제한으로 넣을 수 있었던 문제도 있었다

Kyoto에서는 거래에 지정할 수 있는 수수료 코인의 개수에도 제한을 추가했습니다.

기존에는 거래가 수수료 코인 목록을 사실상 제한 없이 길게 만들 수 있었습니다.

Heimdall은 이를 하나씩 확인해야 했기 때문에 목록이 길어질수록 검증에 필요한 연산량도 늘어나는 구조였습니다.

공격자는 이를 이용해 작은 비용으로 검증자에게 큰 처리 부담을 줄 가능성이 있었습니다.

Kyoto에서는 검증을 시작하기 전에 수수료 코인의 개수를 제한하도록 변경됐습니다.

체크포인트와 마일스톤 관련 문제도 함께 수정됐다

Heimdall은 Polygon PoS 상태를 Ethereum과 연결하는 체크포인트 처리에서 중요한 역할을 합니다.

이번 Kyoto 하드포크에서는 체크포인트 서명의 recovery byte를 정규화하지 않던 문제도 수정됐습니다.

기존에는 서명 자체는 유효하지만 Ethereum L1에서 서명 복구에 실패하는 형태로 체크포인트가 제출될 가능성이 있었습니다.

이 경우 위조된 체크포인트가 만들어지는 것은 아니지만 정상적인 체크포인트가 Ethereum에 기록되지 못하고 지연될 수 있었습니다.

마일스톤 투표에서도 보완이 이뤄졌습니다.

기존에는 검증자가 특정 마일스톤 범위를 연장하는 투표를 할 때 실제로 자신이 서명한 부모 블록 해시와 충분히 강하게 연결되지 않는 일부 상황이 존재했습니다.

Kyoto는 투표를 해당 부모 해시에 명확하게 묶도록 변경했습니다.

이 밖에도 동일한 검증자 다운타임 메시지가 두 번 처리됐을 때 두 개의 span이 생성되는 문제, 미래 span 생성 실패가 마일스톤 커밋까지 중단시키는 문제, 일부 L1 이벤트의 재생 방지 키가 충돌할 수 있는 가능성 등이 함께 수정됐습니다.

Austin과 Kyoto는 언제 메인넷에 적용됐을까?

두 하드포크는 현재 Polygon PoS 메인넷에서 이미 활성화됐습니다.

Austin 하드포크의 메인넷 활성화 블록은 91,949,700입니다.

Amoy 테스트넷에서는 블록 44,120,000에서 활성화됐습니다.

Kyoto 하드포크는 메인넷 블록 51,533,000에서 활성화됐습니다.

Polygon 공식 자료에 따르면 Kyoto 메인넷 활성화 시점은 2026년 8월 18일 10시 10분 31초 UTC였습니다.

Amoy에서는 블록 42,252,000에서 먼저 활성화됐습니다.

Polygon은 보안에 영향을 미치는 합의 변경이라는 점을 고려해 전체 세부 내용을 처음부터 공개하지 않았습니다.

먼저 수정 버전을 제한적으로 배포하고 Amoy에서 검증한 뒤 메인넷 활성화를 완료했습니다.

이후 네트워크가 안전한 상태에 들어간 뒤 취약점 세부 내용을 공개했습니다.

Polygon 노드 운영자는 어떤 버전을 사용해야 할까?

Austin 하드포크가 처음 적용된 Bor 버전은 v2.10.0입니다.

Kyoto가 적용된 Heimdall 버전은 v0.11.0입니다.

따라서 Austin 활성화 이후 Polygon PoS 네트워크에 참여하려면 최소한 Austin 규칙을 지원하는 Bor 버전을 사용해야 합니다.

다만 2026년 8월 30일 현재 Bor의 최신 공개 버전은 v2.10.1입니다.

Polygon은 8월 28일 v2.10.1을 추가로 공개했으며 BlockSTM v2와 devp2p peer jailing 기능 등이 포함됐습니다.

따라서 지금 새롭게 업데이트하는 운영자라면 Austin이 처음 포함된 v2.10.0 자체보다는 Polygon이 현재 제공하는 최신 안정 버전을 확인하는 것이 좋습니다.

Heimdall의 Kyoto 대응 버전은 v0.11.0입니다.

Polygon은 Bor를 모든 노드에, Heimdall v0.11.0을 모든 검증자와 풀 노드에 필수 업데이트로 지정했습니다.

업데이트하지 않은 노드는 어떻게 될까?

하드포크는 이전 버전과 호환되지 않는 규칙 변경입니다.

따라서 Austin이나 Kyoto 활성화 블록을 지난 뒤에도 이전 클라이언트를 계속 실행하면 해당 노드는 공식 Polygon PoS 체인의 새로운 규칙과 동일한 결과를 만들지 못하게 됩니다.

Polygon은 이런 노드가 이미 canonical chain, 즉 정식 체인과 분리된 상태가 된다고 설명했습니다.

이 경우 최신 버전으로 업데이트한 뒤 하드포크 이전 시점까지 노드 상태를 되돌리고 다시 동기화해야 정상 네트워크에 참여할 수 있습니다.

다만 이번 업데이트에는 새로운 제네시스 파일을 만들거나 블록체인 상태 전체를 다른 형식으로 옮기는 별도의 상태 마이그레이션은 필요하지 않습니다.

노드 소프트웨어를 정상적으로 업그레이드한 운영자는 기존 데이터를 그대로 이용할 수 있습니다.

일반 POL 보유자가 직접 해야 할 일은 있을까?

일반적인 Polygon 이용자나 POL 토큰 보유자는 이번 하드포크 때문에 별도로 토큰을 교환하거나 새로운 지갑으로 옮길 필요가 없습니다.

이번 업데이트는 Polygon PoS 네트워크를 운영하는 클라이언트 소프트웨어의 보안 문제를 수정한 것입니다.

POL을 새로운 토큰으로 바꾸는 토큰 스왑도 아니고 사용자 잔액을 이전하는 마이그레이션도 아닙니다.

직접 조치가 필요한 대상은 Polygon PoS 검증자와 풀 노드, RPC 및 인프라 운영자입니다.

일반 이용자는 자신이 사용하는 지갑이나 거래소가 정상적으로 Polygon PoS를 지원하고 있다면 이번 하드포크를 위해 별도의 작업을 할 필요가 없습니다.

이번 취약점으로 사용자 자금이 위험했던 것일까?

이번에 공개된 문제들의 주된 위험은 네트워크 가용성과 안정성입니다.

Bor 문제는 블록 처리를 지나치게 느리게 하거나 노드를 충돌시킬 수 있는 서비스 거부 공격 가능성이었습니다.

Heimdall의 가장 심각한 문제 역시 공격자가 하나의 특수 거래를 이용해 검증자 전체에 과도한 계산 작업을 강제할 가능성이었습니다.

체크포인트와 마일스톤 관련 문제 역시 자산을 바로 탈취하기보다 네트워크 진행과 데이터 처리의 안정성을 떨어뜨릴 가능성이 중심이었습니다.

Polygon은 이번 취약점으로 메인넷 자금이 탈취됐거나 실제 네트워크 중단이 발생했다는 증거를 공개하지 않았습니다.

따라서 이번 사건을 ‘Polygon 해킹’이나 ‘POL 자금 탈취 취약점’이라고 표현하면 현재 확인된 사실보다 과장된 설명이 됩니다.

왜 취약점을 패치한 뒤 공개했을까?

블록체인의 합의 클라이언트에서 발견된 보안 문제는 일반 애플리케이션 버그보다 공개 순서가 중요합니다.

취약점의 공격 방법을 먼저 공개하면 네트워크 운영자들이 패치를 적용하기 전에 공격자가 이를 이용할 수 있기 때문입니다.

Polygon은 이번 수정사항을 먼저 비공개로 배포하고 Amoy 테스트넷에서 검증했습니다.

메인넷에서 Austin과 Kyoto가 활성화되고 필요한 노드들이 안전한 버전으로 이동한 뒤 세부적인 공격 가능성을 공개했습니다.

Cosmos EVM 사건처럼 패치 적용이 완료되기 전에 공격 방법이 공개돼 실제 체인들이 공격받는 사례도 있었던 만큼 블록체인 인프라에서는 취약점 공개와 패치 배포의 순서도 중요한 보안 절차입니다.

결론

Polygon Labs는 2026년 8월 Bor와 Heimdall에서 발견된 여러 보안 및 네트워크 안정성 문제를 Austin과 Kyoto 하드포크를 통해 수정했습니다.

Bor v2.10.0의 Austin 하드포크에서는 State Sync가 사용할 수 있는 블록당 가스를 제한하고 크기 제한이 없던 TxDependency 필드를 제거해 두 가지 서비스 거부 공격 경로를 차단했습니다.

Heimdall v0.11.0의 Kyoto 하드포크에서는 깊게 중첩된 거래를 이용해 검증자 전체의 연산 자원을 고갈시킬 가능성을 포함해 체크포인트, 마일스톤, 스테이킹 및 L1 이벤트 처리와 관련된 여러 문제를 수정했습니다.

두 하드포크는 현재 Amoy와 Polygon PoS 메인넷 모두에서 이미 활성화됐습니다.

Polygon은 공개된 취약점이 메인넷에서 실제 공격에 악용돼 장애를 발생시킨 사례는 발견하지 못했다고 밝혔습니다.

따라서 이번 사건의 핵심은 Polygon이 해킹당했다는 것이 아닙니다.

실제 공격이 확인되기 전에 합의 클라이언트의 보안 위험을 수정하고 네트워크가 안전한 버전으로 전환된 뒤 취약점 내용을 공개했다는 점이 핵심입니다.

일반 POL 보유자가 별도로 해야 할 작업은 없지만 Polygon PoS 노드 운영자는 하드포크 이후 규칙과 호환되는 최신 Bor와 Heimdall 버전을 사용해야 합니다.

cryptoqri

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.