Fortinet 제로데이: 10,000대 방화벽이 노출된 CVE-2026-24858의 전말
Fortinet FortiGate 10,000대가 CVSS 9.4 제로데이에 노출됐다. SSO 인증 우회로 관리자 권한 탈취가 가능하며, CISA가 긴급 패치를 권고했다.
Fortinet FortiGate 10,000대가 CVSS 9.4 제로데이에 노출됐다. SSO 인증 우회로 관리자 권한 탈취가 가능하며, CISA가 긴급 패치를 권고했다.
CVE-2026-24858은 Fortinet FortiOS의 FortiCloud SSO 인증 우회 취약점이다. CVSS 9.4(Critical), CISA KEV 등재. 공격자는 자신의 FortiCloud 계정과 그 계정에 등록한 장비만 있으면, FortiCloud SSO가 켜진 다른 조직의 FortiGate 관리자 권한을 탈취할 수 있다. 2026년 1월 27일 패치가 나왔지만, 그 전에 이미 자동화된 공격이 진행되고 있었다.
어느 기업의 보안 관리자가 이상한 걸 발견했다.
FortiGate 방화벽에 자기가 만들지 않은 관리자 계정 이 있었다.
itadmin, audit, backup — 이름은 그럴듯했다. 하지만 누구도 만든 적이 없었다.
Fortinet에 신고가 접수됐다. 조사 결과, 공격자는 FortiCloud SSO 를 통해 들어왔다.
그런데 놀라운 점이 있었다.
공격자는 어떤 취약점도 '익스플로잇'하지 않았다. 그냥 정상적으로 로그인 했다.
FortiCloud는 Fortinet 장비를 클라우드에서 관리하는 서비스다.
SSO(Single Sign-On)를 활성화하면 FortiCloud 계정 하나로 FortiGate 웹 관리 화면에 바로 접속할 수 있다. 별도 로그인 없이. 편리하다.
문제는 인증 검증 로직 에 있었다.
FortiCloud SSO가 활성화된 FortiGate는 FortiCloud 계정을 거쳐 들어오는 관리자 로그인을 받아들인다. 은 바로 이 신뢰 관계를 악용했다.
FortiCloud 계정과 그 계정에 등록한 장비만 있으면, SSO가 켜진 다른 계정의 FortiGate 에도 관리자로 로그인할 수 있었다.
CWE-288(Authentication Bypass Using an Alternate Path)로 분류된 이 결함은, 정상 인증 경로를 우회한 것이 아니다. 정상 경로 자체가 깨져 있었다.
아파트로 비유하면 이렇다. 공동현관 비밀번호가 #1234인데, 이 비밀번호로 공동현관 연동을 켜 둔 다른 집 현관문까지 열리는 것이다.
| 날짜 | 사건 |
|---|---|
| 1월 20일 | 첫 번째 고객 신고 접수 |
| 1월 21일 | Arctic Wolf, 1월 15일부터 관측한 자동화된 설정 변경 공개 |
| 1월 22일 | Fortinet, 악성 FortiCloud 계정 2개 차단 |
| 1월 26일 | FortiCloud SSO 전체 비활성화 (긴급 조치) |
| 1월 27일 | CISA KEV(알려진 악용 취약점 목록) 등재 |
| 1월 27일 | 패치된 장비에 한해 SSO 재활성화 |
| 1월 27~28일 | FortiOS 7.4.11(27일)·7.6.6(28일) 패치 릴리스 |
주목할 점이 있다.
Fortinet은 패치를 만들기 전에 SSO 기능 자체를 꺼버렸다. 전 세계 FortiCloud SSO를 일괄 비활성화한 것이다. 그만큼 긴급했다.
Shadowserver 스캔 결과, FortiCloud SSO가 활성화된 FortiGate 인스턴스는 약 10,000대. 그중 약 4분의 1이 미국에 있었다.
"SSO를 안 켰으면 안전하지 않나?"
맞다. FortiCloud SSO는 기본 비활성화 다.
하지만 함정이 있다.
FortiCare에 장비를 등록할 때, GUI에서 FortiCloud SSO 토글을 명시적으로 끄지 않으면 자동으로 활성화 된다.
등록 과정에서 "다음, 다음, 완료"를 누른 관리자라면? 사회공학 공격이 기술적 취약점만큼 위험한 이유가 바로 이것이다. 본인도 모르는 사이에 SSO가 켜져 있었을 수 있다.
Arctic Wolf의 분석에 따르면, 공격은 자동화돼 있었다. 로그인부터 config 탈취까지 수 초 만에 완료됐다.
공격 주체는 아직 특정되지 않았다. Fortinet은 두 개의 악성 FortiCloud 계정 이 사용됐다고만 밝혔다. 국가 배후인지, 금전 목적인지는 조사가 진행 중이다.
itadmin, audit, backup, secadmin, support, remoteadmin.
이름만 보면 정상 계정 같다. 공격자는 이런 이름으로 로컬 관리자 계정을 만들었다. SSO가 나중에 차단되더라도 로컬 계정으로 다시 들어오기 위해서다.
보험을 드는 것이다.
SSL-VPN 또는 IPSec VPN 설정을 수정하거나 새로 만들었다.
방화벽을 뚫은 것이 아니라, 방화벽이 스스로 문을 열어주도록 설정을 바꾼 것이다. 내부 네트워크로 진입하는 영구적인 통로. 이는 MITRE ATT&CK에서 방어 체계 무력화(T1562)로 분류되는 전형적인 기법이다.
FortiGate의 전체 설정 파일(config)을 다운로드했다.
이 파일 안에는:
가 모두 들어 있다.
방화벽 config를 탈취당했다는 것은, 조직의 네트워크 지도를 통째로 넘겨준 것 과 같다.
은 갑자기 등장한 것이 아니다.
2025년 12월, FortiOS와 FortiWeb에서 비슷한 문이 뚫렸다. 두 건의 SAML 인증 우회(FortiOS 등의 , FortiWeb의 ). Fortinet이 패치를 배포했고, 많은 관리자가 적용하고 안심했다.
그런데 2026년 1월, 패치를 적용한 장비에서 또 같은 증상이 나타났다.
처음에는 "패치 우회 아니냐"는 의심이 돌았다. 하지만 Fortinet의 결론은 달랐다. 이전 패치와는 무관한, 처음부터 별개의 취약점 이었다.
Fortinet이 "패치 바이패스가 아닌 신규 CVE"라고 별도 공지한 이유다.
Fortinet FortiGate를 운영 중이라면 지금 바로 확인해야 한다:
FortiGate는 국내 기업과 공공기관에서 널리 쓰이는 장비다. "우리는 SSO 안 켰으니까"라고 넘기기 전에, 정말 꺼져 있는지부터 확인해야 한다. FortiCare 등록 과정에서 자동 활성화됐을 수 있다.
Arctic Wolf는 이 취약점과 관련됐을 가능성이 있는 공격 활동을 1월 15일부터 관측했다. Fortinet이 악성 FortiCloud 계정을 차단한 1월 22일보다 일주일, FortiCloud SSO를 전면 차단한 1월 26일보다 11일 앞선다. CVE 번호가 붙기 전부터 공격이 돌고 있었던 셈이다.
Fortinet VPN 어플라이언스는 기업 네트워크의 경계에 위치한다. 이 장비가 침해되면 VPN 자격증명, 내부 라우팅 정보, 방화벽 정책이 모두 노출된다. CISA는 1월 27일 이 취약점을 KEV에 올리고, 연방 민간 기관에 1월 30일까지 조치를 요구했다.
패치가 공개되어도 적용까지는 시간이 걸린다. Fortinet의 경우 방화벽 재부팅이 필요하여 업무 시간 외에만 작업이 가능하다는 현실적 제약이 있다. 이 패치 갭이 공격자에게 최적의 공격 창(window)을 제공한다.
이 취약점의 시작점은 FortiCloud SSO 관리자 로그인 경로다. 공격자는 자신의 FortiCloud 계정과 그 계정에 등록한 장비만 있으면, 다른 계정에 등록된 장비에도 FortiCloud SSO로 로그인할 수 있었다. 메모리 손상이 아니라 인증 경로의 결함(CWE-288)이어서, 로그인에 성공하면 곧바로 관리자 권한을 얻는다.
초기 접근 후 공격자는 방화벽 설정을 바꿨다. Arctic Wolf가 관측한 행위는 지속 접근용 로컬 관리자 계정 생성, 그 계정에 VPN 접근 권한 부여, 설정 파일 유출이었고, 모두 몇 초 간격으로 일어났다.
10,000대는 실제로 침해된 장비 수가 아니다. Shadowserver 스캔에서 FortiCloud SSO가 켜진 채 확인된 장비 수로, 공격 대상이 될 수 있었던 규모를 뜻한다.
Fortinet 방화벽 침해가 특히 위험한 이유는 네트워크 경계의 신뢰 지점이 무너지기 때문이다. 방화벽은 내부 네트워크의 모든 트래픽을 관찰하고 라우팅할 수 있는 위치에 있다. 침해된 방화벽은 내부 네트워크로의 자유로운 접근, 트래픽 감청, DNS 조작을 가능하게 한다.
Fortinet 방화벽이 침해되면 공격자는 네트워크의 '관문'을 장악하게 된다. 이는 일반 서버 침해와 질적으로 다르다. 방화벽은 SSL VPN 종단점으로서 모든 원격 접속 트래픽을 복호화하여 관찰할 수 있다. VPN 사용자의 자격증명, 내부 웹 애플리케이션 트래픽, 파일 전송 내용이 모두 노출된다.
일부 공격자는 방화벽의 설정을 미세하게 수정하여 지속적 접근을 확보했다. 이러한 설정 변경은 방화벽 로그 자체가 조작될 수 있기 때문에 외부 SIEM에서 독립적으로 모니터링해야 발견된다.
이 사건은 VPN 장비 제조사의 보안 투명성 문제도 부각시켰다. 보안 장비 제조사의 취약점 공개 속도와 투명성은 고객의 대응 시간에 직결된다.
이 공격은 FortiGate 시스템 이벤트 로그에 순서대로 기록됐다. Fortinet PSIRT 블로그와 Arctic Wolf가 실제 로그 예시를 공개했다.
| 로그 ID | 로그 설명(logdesc) | 이 공격에서 찍힌 내용 |
|---|---|---|
| 0100032001 | Admin login successful | method="sso" 관리자 로그인 |
| 0100032095 | Admin performed an action from GUI | 설정 파일 다운로드 |
| 0100044547 | Object attribute configured | system.admin에 계정 추가 |
Arctic Wolf가 공개한 예시 로그 세 줄은 모두 1월 19일자이고, 몇 초 간격으로 이어졌다. 로그인 로그의 ui 필드에는 sso(접속 IP)가 찍혔고, 권한 프로필은 super_admin이었다. Fortinet은 로컬 관리자 계정 생성이 거의 모든 사례에서 보였다고 적었다.
FG-IR-26-060은 본문에서 악용에 쓰인 악성 계정을 2개라고 적었지만, IoC 절에는 공격자가 로그인한 FortiCloud SSO 계정 4개와 접속 IP 목록을 올렸다. 계정 이메일 주소는 앞으로 바뀔 수 있다고도 덧붙였다. 로그인 로그의 user·srcip 필드가 이 목록과 맞춰 볼 자리다. 다만 Fortinet은 공격자가 Cloudflare 보호 IP로 옮겨 간 것으로 보인다고 적었다. 로컬 관리자 계정 이름도 분석 도중 바뀌어, Fortinet은 이름 목록보다 예상하지 못한 관리자 계정 전체를 살피도록 권고했다.
IoC가 확인된 장비에 대해 Fortinet은 시스템과 설정을 침해된 것으로 간주하고, FortiGate에 연결된 LDAP·AD 계정까지 자격 증명을 교체하도록 안내했다. Arctic Wolf도 유출된 설정 파일 속 해시된 자격 증명은 노출된 것으로 봐야 한다고 설명했다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.