
CVE-2026-89020에 대한 개념 증명 권한 상승: RouterOS mtget TFTP RRQ 오버플로를 악용하여 그룹 정책을 재작성하고 읽기 전용 사용자를 전체 관리자로 승격합니다.
원본 오버플로(DoS): Kazuma Matsumoto, GMO Cybersecurity by IERAE.
읽기 전용에서의 권한 상승: Cristiano Maranci, Davide Turaccio.
read 그룹의 인증된 사용자가 mtget TFTP 오버플로를 통해 저장된 그룹 정책을 다시 작성하여 패치되지 않은 RouterOS에서 전체 권한을 획득합니다. MikroTik이 이를 재현했습니다. 이 저장소는 원본 오버플로가 아닌 권한 상승 PoC입니다.
| 빌드 | mtget sha256 (16) | 취약 여부 |
|---|---|---|
| 6.49.7 | c86bad170066c058 | 예 |
| 6.49.11 | c86bad170066c058 | 예 (실제 기기에서 테스트됨) |
| 6.49.18 | a98020b2d5e39cf3 | 예 |
| 6.49.19 | a98020b2d5e39cf3 | 예 |
| 6.49.20 | a98020b2d5e39cf3 | 예 |
| 6.49.21 | 9721d0bb5d21ec2a | 아니오 (수정됨) |
| 6.49.22 | 9721d0bb5d21ec2a | 아니오 |
| 7.23.3 | 0a976b16314073e7 | 예 |
| 7.23.7 | b315c9516f67c078 | 아니오 (7.23.4에서 수정됨) |
| 7.24.1 | e5cba2a80146f361 | 예 |
| 7.24.2 | a6a8b50ee270e018 | 아니오 (수정됨) |
| 7.24.5 | 13dafb8a1d28fac7 | 아니오 |
6.0부터 6.49.20까지 샘플링된 모든 6.x 빌드와 7.1.5부터 7.24.1까지 샘플링된 모든 7.x 빌드에서 취약합니다. 수정 버전: 6.49.21, 7.23.4, 7.24.2. 권한 상승은 6.49.11 (RB SXT-5D) 및 6.49.18 (RB433GL)에서 테스트되었습니다.
mtget RRQ 빌더: 경계 검사 없는 memcpy (6.49.11: 빌더 0x406518, 복사 0x406558). /tool fetch를 통한 긴 tftp:// 경로가 저장된 레지스터와 반환 주소를 덮어씁니다./rw/store/group.dat를 열고, 첫 번째 레코드 접두사(38바이트)를 쓰고, 다시 읽고, 마커 파일을 쓰고, 종료합니다./nova/bin/user의 group::restore (6.49.11: 0x40c348)는 값 검증 없이 allow & clip 및 deny & clip을 적용합니다. read 그룹이 full 그룹이 됩니다.python3 poc_read2full.py --host H --port P --user U --password W
python3 poc_read2full_generic.py --host H --port P --user U --password W \
--payload payloads/6.49.7-6.49.11.mipsbe.bin
poc_read2full.py는 테스트된 6.49.11 드라이버입니다. poc_read2full_generic.py는 6.49.7 또는 페이로드를 재계산한 다른 빌드도 허용합니다.
--promote-user NAME은 선택적으로 재작성 후 해당 계정을 full로 이동시킵니다.
payloads/6.49.7-6.49.11.mipsbe.bin (4094 B, sha256 433d59c9...)은 실제 실행에서 사용된 페이로드입니다. 다른 빌드는 페이로드를 재계산해야 합니다.
소유하거나 테스트 권한이 있는 기기에서만 실행하십시오. read 그룹 정책을 다시 작성하며 기기가 재부팅될 수 있습니다.