NOW Briefing
MikroTik RouterOS SSH 인증 절차 우회 취약점 (CVE-2026-67279)
■ 개요
RouterOS는 라트비아 MikroTik이 자사 라우터·스위치 제품군(RouterBOARD)과 가상 라우터에 탑재하는 네트워크 장비 운영체제입니다. 2026년 9월 3일 MikroTik은 CERT Polska가 신고한 취약점들을 수정한 6.49.21, 7.23.4, 7.24.2, 7.25beta3 릴리스를 배포했습니다. CERT Polska는 9월 5일 여섯 건의 취약점을 공개하면서, 이 가운데 두 건을 엮으면 SSH 원격 접속이 가능한 장비를 인증 없이 완전히 장악할 수 있다며 그 조합에 MikroTrick이라는 이름을 붙였습니다. 실제 악용 경고문에서는 CVE-2026-67276(RSA 공개키를 완전히 비교하지 않는 SSH 인증 우회)과 CVE-2026-86060을 설명했습니다.
이번 공지 회차의 CVE-2026-67279는 SSH 서버가 상태 전이를 잘못 처리하는 취약점입니다. 클라이언트가 세션 암호키를 다시 맞추는 절차(키 재협상)를 요청하면, 사용자 인증이 한 번도 시도되지 않았는데도 서버가 그 뒤 단계로 넘어갑니다. 이 상태에서 미인증 클라이언트가 세션 채널을 열고 명령 실행 요청을 보낼 수 있습니다. 영향 범위는 6.0.0~6.49.20, 7.0.0~7.23.3, 7.24~7.24.1이며, SSH 서비스에 네트워크로 접근할 수 있으면 유효한 자격증명 없이 악용할 수 있습니다.
CERT Polska는 인터넷에 SSH가 노출된 장비를 대상으로 한 공격을 관측했고, 공격 로그가 최소 9월 2일까지 거슬러 올라간다고 밝혔습니다. 실제 공격에서는 공격자가 장비에 ops라는 고권한 계정을 생성한 사례가 확인됐습니다. CISA는 9월 10일 CVE-2026-86060을, 9월 25일 CVE-2026-67279를 알려진 악용 취약점(KEV) 목록에 추가하면서 연방 기관 조치 기한을 각각 9월 13일과 9월 28일로 지정했습니다. CVE-2026-67279와 CVE-2026-86060을 연쇄하는 PoC도 게시돼 있어, SSH 관리 포트를 공개망에 열어 둔 조직은 패치 우선순위를 최상위로 두어야 합니다.
■ 요약
| 항목 | 내용 |
|---|---|
| CVE ID | CVE-2026-67279 |
| CVSS 점수 | • CVSS v3.1 6.5 • CVSS v4.0 6.9 |
| 취약점 유형 | CWE-841, 동작 흐름 강제 미흡 |
| 영향/위험 | • 미인증 상태에서 세션 채널 개설 및 명령 실행 요청 전달 가능 • 미인증 상태의 파일 생성·덮어쓰기 및 설정·진단 데이터가 담긴 파일 접근 가능 • CISA 설명 기준 CVE-2026-86060의 미인증 악용으로 연결 가능 • CISA KEV 등재(2026-09-25)로 실제 악용 확인 |
| 취약 버전 | • RouterOS 6.0.0 ~ 6.49.20 • RouterOS 7.0.0 ~ 7.23.3 • RouterOS 7.24 ~ 7.24.1 |
| 패치 버전 | • 6.49.21 (장기 지원) • 7.23.4 (장기 지원) • 7.24.2 • 7.25beta3 |
■ 기술 분석
SSH 프로토콜은 전송 계층에서 키 교환을 마친 뒤 사용자 인증을 거쳐야 연결 프로토콜 단계로 넘어갑니다. 그러나 RouterOS의 SSH 서버는 클라이언트가 요청한 키 재협상을 처리하면서 이 순서 검사를 유지하지 못합니다. NVD 기술 설명 기준으로, 사용자 인증이 시도조차 되지 않은 연결에서도 서버가 재협상 이후 세션 채널 개설과 명령 실행 요청을 받아들입니다. CERT Polska는 인증 없이 RouterOS 관리 파일 영역의 파일을 생성·덮어쓰거나, 설정과 진단 데이터가 담긴 support 파일에 접근할 수 있다고 설명했습니다.
CERT Polska의 실제 악용 경고문은 CVE-2026-67276과 CVE-2026-86060의 조합을 설명하고 CVE-2026-67279는 언급하지 않는 반면, CISA의 KEV 항목과 게시된 PoC는 CVE-2026-67279를 CVE-2026-86060의 선행 단계로 지목합니다. 두 설명의 차이는 아직 정리되지 않았습니다.
RouterOS는 클로즈드 소스 제품이라 취약 함수의 원본 코드와 패치 diff는 공개되지 않았습니다. MikroTik 보안 공지와 CERT Polska 권고, NVD 레코드에서도 수정 커밋이나 소스 범위는 확인되지 않으며, 공개된 것은 영향 버전과 수정 릴리스 번호뿐입니다. 따라서 이 글의 코드 근거는 PoC로 한정합니다.
관련 취약점: CVE-2026-86060
CVE-2026-86060은 RouterOS 로그인 처리 경로의 인자 주입(프로그램에 전달되는 인자를 조작해 원래 의도와 다른 해석을 끌어내는 기법) 취약점입니다. NVD 설명에 따르면 허용되지 않는 문자로 시작하는 사용자명이 옵션 인자처럼 해석되면서, 세션에 부여되는 신뢰 권한 집합(정책 마스크)이 변경돼 권한 상승으로 이어집니다. CISA는 CVE-2026-67279가 이 취약점의 미인증 악용으로 연결될 수 있다고 KEV 항목에 기재했습니다. 이 취약점은 NVD 산정 CVSS v3.1 9.8, CNA인 CERT Polska 산정 CVSS v4.0 9.2로 평가돼 체인 전체의 심각도를 끌어올립니다.
■ PoC
GitHub 저장소 digiprosec/MicroTrick에 CVE-2026-86060을 표제로 한 Python 익스플로잇 poc_mikrotrick.py가 공개돼 있습니다. 스크립트 헤더에는 취약 버전(가상 라우터 CHR 7.23.3)에서는 성공하고 패치 버전(CHR 7.23.4)에서는 실패하는 것을 확인했다고 적혀 있습니다. 대상 주소가 사설 IP가 아니면 실행을 거부하는 실험용 클라이언트로 작성돼 있습니다.
아래 코드는 poc_mikrotrick.py의 exploit() 함수 앞부분 일부입니다. 코드는 수정하지 않고 그대로 옮겼습니다. 전체 공개 PoC는 참고 자료의 원문 링크에서 확인할 수 있습니다.
스크립트는 거부되는 사용자명으로 인증을 한 번 시도한 뒤 키 재협상을 요청합니다. 권한 상승 단계는 싣지 않았습니다.
def exploit(host):
"""Open a full-admin RouterOS console channel. Returns (transport, chan)."""
t = paramiko.Transport((host, 22))
t.start_client(timeout=10)
# step 1 — leave "-2" pending in server session state
try:
t.auth_password("-2", "x")
except paramiko.AuthenticationException:
pass
print("[1] '-2' rejected (pending in session state)")
# step 2 — CVE-2026-67279: pre-auth rekey drops the server-side auth gate
t.renegotiate_keys()
print("[2] rekey done (CVE-2026-67279)")
⚠️ WARN
두 취약점을 연쇄하는 PoC가 공개돼 있고, CISA는 CVE-2026-67279의 실제 악용을 확인해 KEV에 등재했습니다. 패치 적용 전까지 SSH 서비스를 공개망에 노출하지 않는 것이 가장 확실한 차단 수단입니다.
■ 탐지 및 점검
• SSH 로그에서 login failure for user -2 from <ip> via ssh 형태의 인증 실패 기록을 검색합니다. CERT Polska가 MikroTrick 체인 공격 로그에서 확인한 지표입니다.
• 계정 목록에서 added by ssh:-2@<ip>로 추가된 사용자와 ops 계정을 찾고, full 권한 그룹에 속한 계정 전체를 다시 확인합니다.
• 관측된 공격 출발지 82.192.72.4(악용 성공)와 103.102.31.18(악용 시도)의 연결 이력을 방화벽·연결 로그에서 조회합니다.
• RouterOS가 남기는 Flagged 상태 로그와 치명 등급 로그 항목이 있는지 확인합니다. MikroTik은 이 표시를 침해 의심 장비 식별 기준으로 안내하고 있습니다.
• 설정에서 알 수 없는 스크립트, 스케줄러 작업, 프록시 설정, 터널 인터페이스가 추가됐는지 점검합니다.
✅ CHECK
패치 이후에 점검해야 합니다. 취약 버전 상태로 점검하면 점검 중에도 추가 침해가 발생할 수 있습니다.
■ 대응 방안
• RouterOS를 6.49.21, 7.23.4, 7.24.2, 7.25beta3 중 해당 채널의 버전 이상으로 업그레이드합니다. 같은 공지 회차의 일부 취약점(CVE-2026-67278)은 7.23.6·7.24.3에서 수정됐으므로 해당 채널의 최신 릴리스를 적용하는 편이 안전합니다.
• SSH(22/TCP)를 포함한 관리 서비스를 인터넷에 노출하지 않고, 원격 관리는 WireGuard 같은 VPN을 경유하도록 구성합니다. MikroTik이 제시한 임시 대응책이며, CERT Polska도 즉시 업데이트가 어려우면 노출된 서비스를 차단하라고 권고합니다.
• 패치 전까지 SSH를 외부에 노출했던 장비는 침해 가능성을 전제로 우선 조사하고, 탐지 지표가 하나라도 걸리면 관리자 자격증명과 장비에 저장된 VPN·라우팅 자격증명을 모두 재발급합니다.
• 침해가 확인된 장비는 설정을 신뢰하지 않고 초기화 후 검증된 백업으로 재구성합니다. 공격자가 생성한 계정·스크립트만 제거하는 방식은 남은 변조를 놓칠 수 있습니다.
• CISA가 CVE-2026-86060(기한 9월 13일)과 CVE-2026-67279(기한 9월 28일)를 모두 KEV에 올린 만큼, 국내 조직도 인터넷 노출 자산 목록에서 MikroTik 장비를 우선 식별해 처리해야 합니다.
💡 TIP
MikroTik은 "대부분의 구성은 위험하지 않다"는 입장을 밝혔습니다.
다만 이 판단은 관리 서비스가 외부에 열려 있지 않은 구성을 전제로 합니다. SSH가 공개망에서 접근 가능한 장비는 예외로 분류해야 합니다.
[참고 자료]
• CERT Polska — MikroTik RouterOS 취약점 공개
• CERT Polska — MikroTik RouterOS 취약점 실제 악용 경고
• MikroTik 보안 공지 — September 2026 vulnerability
• CISA — KEV 목록 추가 알림 (2026-09-25)
• CISA — Known Exploited Vulnerabilities Catalog 데이터 피드
• PoC 원문 — poc_mikrotrick.py (커밋 c6791b2, L61-L77)



