전화를 받기만 했는데 30초 뒤 해킹? 텔레그램 안드로이드 음성통화 결함으로 본 ‘상태 메시지’의 빈칸, 4년 넘게 남은 이유와 오늘 밤 3분 점검까지 초보도 쉽게

모르는 사람에게서 텔레그램 음성통화가 걸려 와요. 무심코 ‘받기’를 눌렀는데, 30초쯤 지나자 화면이 홈으로 튕기고 앱 아이콘이 우르르 쏟아집니다. 보안 스타트업 네뷰섹(NebuSec)이 10월 29일(현지시각) 공개한 시연 영상의 장면이에요. 안드로이드용 텔레그램의 통화 코드에 있던 결함 때문인데, 공격자에게 필요한 건 평범한 텔레그램 계정 하나뿐이었다고 해요.

다행히 이 결함은 9월 말 나온 12.10.4 버전에서 이미 고쳐졌어요. 그래서 오늘 할 일은 생각보다 간단합니다. 내 텔레그램 버전을 확인하고, 모르는 사람의 통화를 막아 두는 거예요. 이 글에서는 무슨 일이 있었는지, 왜 ‘전화를 받기만 해도’ 위험할 수 있는지, 아직 확인되지 않은 부분은 무엇인지, 그리고 3분이면 끝나는 점검법까지 차근차근 풀어볼게요.

네뷰섹 시연 영상에서는 텔레그램 통화를 받고 30초쯤 지나 피해자 휴대폰 화면이 바뀌었어요. 안드로이드 8.6.2~12.10.3이 영향을 받고 12.10.4에서 고쳐졌어요
네뷰섹 시연 영상에서는 텔레그램 통화를 받고 30초쯤 지나 피해자 휴대폰 화면이 바뀌었어요. 안드로이드 8.6.2~12.10.3이 영향을 받고 12.10.4에서 고쳐졌어요

한눈에 보는 이번 사건

항목 내용
대상 안드로이드용 텔레그램 앱 (일대일 음성통화)
영향 버전 8.6.2 ~ 12.10.3 (2022년 3월 ~ 2026년 9월 배포분)
수정 버전 12.10.4 (9월 24일 배포)
공격 조건 공격자가 전화를 걸고, 피해자가 받아야 함
공개 네뷰섹, 10월 29일 (시연 영상 공개, 기술 보고서는 아직 없음)
CVE 번호 10월 29일 기준 없음
실제 악용 네뷰섹은 실제 공격 사례를 보지 못했다고 밝힘
텔레그램 입장 8월에 이미 보고받아 고쳤고, 받은 보고에는 코드 실행까지 이어지는 실제 공격 연쇄가 없었다는 입장

‘전화를 받기만 해도’ 위험하다는 게 무슨 뜻일까요?

우리가 아는 해킹은 보통 이상한 링크를 누르거나, 출처 모를 앱을 설치하거나, 비밀번호를 입력하게 만드는 식이에요. 그런데 이번 결함은 그런 ‘실수’가 거의 필요 없어요. 통화를 연결하는 순간, 두 휴대폰의 텔레그램 앱이 자동으로 주고받는 작은 메시지가 공격 통로가 되기 때문이에요.

보안 업계에서는 이런 걸 원격 코드 실행(RCE)이라고 불러요. 멀리 있는 공격자가 내 기기에서 자기가 원하는 프로그램 조각을 돌릴 수 있다는 뜻이에요. 비유하자면 택배 상자를 받았을 뿐인데, 상자 안에 숨어 있던 사람이 집 안으로 걸어 들어오는 셈이에요.

공격 방식 내가 해야 하는 ‘실수’ 예시
피싱 링크 링크 클릭 + 정보 입력 “택배 주소 확인” 문자
악성 앱 출처 모를 앱 설치 “청첩장.apk” 파일
원클릭 공격 링크나 파일 한 번 열기 메신저로 온 이상한 문서
이번 텔레그램 결함 걸려 온 통화를 받기만 모르는 계정의 음성통화
제로클릭 공격 아무것도 안 해도 됨 메시지 수신만으로 감염

표에서 보듯 이번 결함은 ‘받기’ 한 번이 필요하다는 점에서 완전한 제로클릭보다는 한 단계 덜 위험해요. 하지만 전화를 받는 건 누구나 하루에도 몇 번씩 하는 평범한 행동이라, 경계심이 거의 작동하지 않는다는 게 무서운 점이에요.

결함은 어디에 있었을까요? ‘상태 메시지’의 빈칸

텔레그램으로 통화하는 동안, 두 앱은 서로에게 짧은 안내 쪽지를 계속 보내요. “지금 마이크 꺼졌어요”, “카메라 켰어요”, “화면을 90도 돌렸어요” 같은 내용이에요. 이 쪽지의 이름이 MediaState예요.

보안 매체 더해커뉴스가 공개된 12.10.3 소스코드를 직접 살펴보니, 쪽지를 읽는 코드에 실수가 있었어요. 쪽지에 ‘화면 회전’ 값이 있는지는 확인해 놓고, 정작 값은 옆 칸인 ‘카메라 상태’에서 꺼내 읽었던 거예요. 공격자가 회전 값만 넣고 카메라 상태 칸을 비워서 보내면, 앱은 존재하지 않는 칸을 읽으려다 엉뚱한 메모리를 건드리게 돼요.

통화 중 오가는 상태 메시지(MediaState)에서 회전 값은 확인하고 정작 값은 비어 있는 카메라 상태 칸에서 읽은 게 문제였어요
통화 중 오가는 상태 메시지(MediaState)에서 회전 값은 확인하고 정작 값은 비어 있는 카메라 상태 칸에서 읽은 게 문제였어요
단계 정상 통화 공격 통화
1. 쪽지 도착 마이크·카메라·회전 값이 모두 있음 회전 값만 있고 카메라 상태 칸은 비어 있음
2. 코드의 확인 “회전 값 있네, 숫자 맞네” 똑같이 “회전 값 있네” 하고 통과
3. 값 꺼내기 (잘못된 칸이지만) 카메라 상태 값이 있어서 우연히 문제없음 없는 카메라 칸을 읽음 → 정해지지 않은 동작
4. 결과 통화 정상 앱이 멈추거나, 공격자가 노린 메모리 조작의 발판

이 실수를 고친 수정은 놀랍게도 두 파일에서 네 줄씩이었어요. 읽는 칸의 이름 하나를 올바른 것으로 바꾼 거예요. 코드 한 줄의 작은 착각이 4년 넘게 남아 있었다는 점이 이번 사건의 핵심이에요. C++ 같은 언어에서는 없는 데이터를 읽으려 할 때 프로그램이 무엇을 할지 정해져 있지 않아서, 숙련된 공격자에겐 그 틈이 기회가 돼요.

결함 하나로 휴대폰 전체가 넘어가는 건 아니에요

네뷰섹 공동창업자 에텐 저우(Eten Zou) CEO는 더해커뉴스에 이 결함을 다른 결함 두 개와 엮어야 휴대폰 전체를 장악할 수 있다고 설명했어요. 집에 들어가려면 대문, 현관문, 안방 금고를 차례로 열어야 하는 것과 비슷해요.

연쇄 단계 필요한 결함 비유 얻는 것
1단계 이번 통화 메시지 결함 대문 틈 텔레그램 앱 안에서 코드 실행
2단계 정보 유출 결함 현관 비밀번호 엿보기 앱 밖(안드로이드)으로 탈출
3단계 안드로이드 루트 권한 공격 안방 금고 열쇠 메시지·마이크·카메라까지 전체 장악

즉 이번에 공개된 건 그 연쇄의 첫 번째 고리예요. 다만 첫 고리가 ‘전화 받기’ 하나로 열린다는 건, 국가 지원 해커나 스파이웨어 업체처럼 나머지 고리를 갖춘 공격자에게는 매우 매력적인 입구가 될 수 있다는 뜻이기도 해요.

같은 수정이 플랫폼마다 늦게 도착했어요

텔레그램의 안드로이드, iOS, 데스크톱 앱은 통화 기능을 위해 tgcalls라는 공용 라이브러리를 함께 써요. 그런데 같은 수정이 앱마다 도착한 시점이 달랐어요.

같은 수정이 공용 통화 라이브러리에는 4월, iOS는 5월, 데스크톱은 7월, 안드로이드는 9월에야 들어갔어요
같은 수정이 공용 통화 라이브러리에는 4월, iOS는 5월, 데스크톱은 7월, 안드로이드는 9월에야 들어갔어요
시점 어디에 버전 메모
2026년 4월 21일 공용 통화 라이브러리 tgcalls – ‘카메라 회전 수정(Fix camera rotation)’이라는 이름으로 반영
2026년 5월 iOS 앱 소스 12.7 수정 포함
2026년 7월 데스크톱 앱 소스 7.0.1 수정 포함
2026년 8월 텔레그램 – 텔레그램은 이때 이미 보고를 받았다고 설명
2026년 9월 24일 안드로이드 앱 12.10.4 수정 포함 (약 5개월 늦음)
2026년 9월 26일 네뷰섹 → 텔레그램 – 12.10.4 배포 뒤에 보고
2026년 10월 29일 네뷰섹 – 시연 영상과 함께 공개

수정 이름이 ‘카메라 회전 수정’처럼 평범하게 붙어 있으면, 보안 문제라는 걸 알아채기 어려워요. 그러면 이 라이브러리를 가져다 쓰는 다른 앱이나 플랫폼은 업데이트를 서두를 이유를 못 느끼죠. 이번처럼 한쪽 앱만 몇 달 늦게 고쳐지는 틈이 생기는 이유예요.

아직 확인되지 않은 것들도 꼭 알아 두세요

이번 사건은 무섭게 들리지만, 확인된 것과 아닌 것을 나눠서 보는 게 중요해요. 시연 영상은 인상적이지만, 영상에는 피해자 휴대폰의 텔레그램·안드로이드 버전이 나오지 않고, 기술 보고서도 아직 공개되지 않았어요.

구분 내용
확인됨 12.10.3 소스코드에 설명과 맞는 결함이 있었음 (더해커뉴스 직접 확인)
확인됨 12.10.4에서 올바른 칸을 읽도록 수정됨
네뷰섹 주장 ARM64 휴대폰의 일대일 통화에서 코드 실행까지 성공
미확인 나머지 두 결함이 무엇인지, 공격 연쇄 전체가 재현되는지
미확인 iOS·데스크톱의 예전 버전도 악용 가능했는지, 그룹 통화도 해당되는지
미확인 실제 공격에 쓰인 적이 있는지
반론 텔레그램은 받은 보고에 실제 코드 실행 연쇄가 없었다는 입장, CVE·버그 포상금도 없었음

그러니 “텔레그램 쓰면 무조건 해킹당한다”는 건 과장이에요. 반대로 “코드 실행까지는 증명 안 됐으니 괜찮다”도 정답은 아니에요. 메모리를 잘못 읽는 결함은 그 자체로 위험 신호이고, 고치는 방법은 업데이트 하나로 아주 쉽거든요.

AI가 찾아낸 결함이라는 점도 눈여겨볼 만해요

네뷰섹은 이 결함을 오픈AI의 GPT-5.4 모델로 돌아가는 자사 코드 보안 제품이 찾았다고 밝혔어요. 이 회사는 7월에도 파이어폭스 결함에서 시작해 안드로이드 17 기기의 커널까지 닿는 공격 연쇄를 공개한 적이 있어요. AI가 방대한 코드를 훑으며 ‘확인한 칸과 읽는 칸이 다르다’ 같은 작은 착각을 찾아내는 시대가 된 거예요.

관점 좋은 점 걱정되는 점
방어하는 쪽 사람이 놓친 오래된 결함을 빨리 찾아 고칠 수 있음 찾은 결함이 많아져 패치 속도가 못 따라갈 수 있음
공격하는 쪽 – 같은 도구로 공개된 수정 내역을 분석해 아직 안 고친 앱을 노릴 수 있음
일반 이용자 앱이 더 안전해질 가능성 ‘업데이트 미루기’의 위험이 점점 커짐

마지막 줄이 우리에게 가장 중요한 메시지예요. 수정 내역이 공개 저장소에 올라가는 순간, 공격자도 그걸 읽을 수 있어요. 업데이트를 미루는 기간이 곧 위험한 기간이 되는 셈이에요.

오늘 밤 텔레그램 3분 점검

오늘 밤 텔레그램 3분 점검: 버전 확인, 업데이트, 통화 허용 범위 줄이기, 모르는 전화 거절
오늘 밤 텔레그램 3분 점검: 버전 확인, 업데이트, 통화 허용 범위 줄이기, 모르는 전화 거절
순서 할 일 어디서 확인 포인트
1 버전 확인 텔레그램 → 설정 화면 맨 아래 12.10.4 이상인지 (더 높은 13.x 버전이면 OK)
2 업데이트 구글 플레이 스토어 → 텔레그램 → 업데이트 ‘업데이트’ 버튼이 보이면 바로 누르기
3 통화 허용 범위 줄이기 설정 → 개인정보 및 보안 → 전화 ‘내 연락처’ 또는 ‘아무도’로 설정
4 모르는 통화 거절 통화 수신 화면 모르는 계정의 통화는 받지 말고 거절
5 가족 휴대폰도 함께 부모님·자녀 휴대폰 자동 업데이트가 꺼져 있는 경우가 많음

네뷰섹은 공격이 ‘전화를 받아야’ 성립하기 때문에, 통화 허용 범위를 ‘아무도’로 바꾸거나 통화를 거절하면 막힌다고 설명했어요. 업데이트를 바로 못 하는 상황이라면 3번만이라도 먼저 해 두세요.

상황별로 이렇게 하면 돼요

내 상황 추천 행동
아이폰이나 PC로만 텔레그램을 씀 이번 확인 대상은 아니지만, 앱을 최신으로 유지하기
안드로이드, 버전이 12.10.4 이상 이번 결함은 해당 없음. 통화 허용 범위만 점검
안드로이드, 버전이 12.10.3 이하 지금 바로 업데이트, 그 전까지 통화 ‘아무도’
업데이트가 안 되는 오래된 휴대폰 통화 기능을 ‘아무도’로 막고, 기기 교체 고려
최근 모르는 텔레그램 통화를 받은 뒤 휴대폰이 이상함 앱 업데이트, 중요한 계정 비밀번호 변경, 이상이 계속되면 백업 후 초기화 검토
회사에서 텔레그램을 업무에 씀 보안 담당자에게 사내 기기 버전 일괄 점검 요청

이번 일에서 기억할 세 가지

첫째, ‘받기’ 같은 평범한 행동도 공격 입구가 될 수 있어요. 모르는 계정의 통화는 받지 않는 습관이 생각보다 큰 방패가 돼요.

둘째, 같은 앱이라도 플랫폼마다 수정이 도착하는 시점이 달라요. 아이폰은 고쳐졌는데 안드로이드는 몇 달 뒤에 고쳐지는 일이 실제로 있었어요.

셋째, 확인된 것과 주장을 나눠서 보세요. 이번엔 시연 영상만 있고 기술 보고서와 CVE 번호는 아직 없어요. 그래도 대응은 업데이트와 통화 제한, 이 두 가지면 충분하니 겁먹을 필요는 없어요. 오늘 밤 3분만 투자해서 내 휴대폰과 가족 휴대폰의 텔레그램 버전을 확인해 보세요.