에이전트 흐름을 설정할 수 있는 GitLab 사용자가 이를 처리하는 서비스의 운영체제 권한까지 얻어서는 안 된다. CVE-2026-90970은 이 분리를 깨뜨린다. 조작한 Duo 흐름 설정으로 프롬프트 템플릿 샌드박스를 벗어나 영향을 받는 AI Gateway에서 임의 명령을 실행할 수 있다.
GitLab은2026년10월2일 공개하고 CVSS3.1 9.9점 중대 취약점으로 평가했다. 악용에는 인증과 Duo Agent Platform 접근권이 필요하다. 익명 사용자가 클릭 없이 모든 GitLab 서버를 탈취한다는 보도가 아니다. 중요한 것은 전제조건 뒤에 넘는 경계이지 조건을 없던 것으로 만드는 게 아니다.
GitLab 운영 게이트웨이는 이미 수정됐다. 영향을 받는 자체 호스팅 운영자는 업그레이드와 조사를 맡는다. 코드와 프롬프트를 사설망에 둔다고 인증된 설정 작성자가 자동으로 의도한 샌드박스 안에 머무르지는 않는다.
GitLab 본체뿐 아니라 게이트웨이 버전을 확인해야 한다
공개 범위는 AI Gateway18.1.6부터19.2.4미만,19.3계열은19.3.2미만,19.4계열은19.4.1미만이다. 수정 버전은19.2.4·19.3.2·19.4.1이며 적절한 수정 또는 이후 지원 버전을 써야 한다.
이는 GitLab AI 기능과 모델 사이의 독립 앱 서비스 버전이다. 앱 로직과 모델 요청을 처리하며 언어 모델 자체가 아니다. 이미지와 배포 주기가 본체와 다를 수 있어 익숙한 GitLab 버전만 보면 오래된 게이트웨이를 놓친다.
관리형·혼합형·완전 자체 운영은 다르다. 혼합에서는 일부 기능이 고객 인프라를, 다른 기능이 GitLab 서비스를 쓸 수 있다. 기능별 경로, 모든 복제본, 개발·개념검증, 캐시 이미지와 재해복구까지 목록에 넣어야 하며 주 생산 화면만으로는 부족하다.
완전 자체 운영은 일반 인터넷이 거의 없거나 없는 망에서도 가능하다. 외부 경로는 줄어도 허가된 내부자, 탈취 계정, 서비스 토큰, 침해된 내부 작업은 남는다. 단절은 보안 통지와 패치 전달도 늦출 수 있다.
결함은 템플릿 소프트웨어에서 발생한다
에이전트 흐름은 프롬프트·도구·결정·행동을 여러 단계 개발 작업으로 묶는다. 템플릿은 설정과 실행 값을 모델 지시로 바꾼다. 샌드박스는 입력이 위험한 앱 함수나 운영체제 능력에 닿지 못하게 해야 한다.
분류는 CWE-1336, 템플릿 엔진 특수 요소의 부적절한 무력화다. 공격자 구문을 단순 데이터가 아니라 실행 가능한 동작으로 해석할 수 있다. GitLab이 설명한 결과는 게이트웨이 임의 명령이며 이후 피해는 프로세스 권한·노출 객체·자격증명·망 경로에 달려 있다.
모델을 지시로 유도하는 프롬프트 주입과 다르다. 템플릿 주입은 지시를 생성하거나 렌더링하는 기존 소프트웨어를 공격하며 모델 응답과 무관하게 명령이 실행될 수 있다. 모델에 행동 안전 지시를 하나 더 넣어도 템플릿 처리 결함은 고쳐지지 않는다.
모델이 스스로 탈출을 발명했다는 증거도 아니다. 입력은 AI 흐름이지만 취약 경계는 앱에 있다. 설정 기록·게이트웨이/컨테이너 활동·권한·하위 자격증명까지 조사해야 하며 대화 기록이 사고의 전부는 아니다.
인증이 필요한데도9.9점인 이유
공개 벡터는 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H다. 네트워크 공격은 기존 로컬 셸을 요구하지 않지만 네트워크가 반드시 공용 인터넷을 뜻하지 않는다. 낮은 복잡도는 표준 평가에서 좁은 경쟁 조건이나 특이 상태가 필요 없다는 의미다. 낮은 권한도 로그인과 플랫폼 접근은 필요하다.
추가 사용자 상호작용 없음은 악성 설정이 도달한 뒤 다른 사람이 파일을 열거나 승인·클릭하지 않아도 된다는 뜻이다. 범위 변경은 허용된 흐름 입력에서 별도의 권한 영역인 게이트웨이 명령 환경으로 이동함을 설명한다.
기밀성·무결성·가용성의 높은 영향은 읽기·변경·중단 가능성을 나타낸다. 표준9.9점은 모든 환경의 최대 피해나 침입 발생 자체를 증명하지 않는다. 구조·최소권한·접근 가능한 시스템·비밀이 실제 범위를 정한다.
인증 사용자가 자동으로 인프라 관리자는 아니다. 흐름 작성자는 여러 앱 기능이 필요해도 해석 프로세스의 운영체제 권한은 필요하지 않다. 탈취 토큰이나 과도한 자동화 신원에서는 원래 사용자가 정당해도 경계가 중요하다.
컨테이너는 경계일 뿐 위험을 지우지 않는다. root 없이도 마운트 비밀·서비스 토큰·처리 데이터·내부 경로가 노출될 수 있다. 쓰기 가능한 마운트·과도한 권한·넓은 외부 통신은 피해를 키운다. 반대로 한 컨테이너 명령 실행이 전체 인프라 탈취를 뜻하지도 않는다.
두 번째 중대 발견은 구조 문제를 묻는다
2월 GitLab은 게이트웨이 Duo Workflow Service의 CVE-2026-1868을 수정했다. 조작 흐름을 통한 사용자 템플릿의 안전하지 않은 확장으로 동일9.9점과 벡터였다. 수정은18.6.2·18.7.1·18.8.1을 포함하며 내부 팀원이 발견했다.
유사성은 흐름-템플릿 신뢰 경계의 깊은 검토를 요구한다.10월 문제가 회귀·불완전한2월 수정·동일 경로임을 증명하지는 않는다. 공개 요약은 관계를 확정하지 못하며 어느 가설도 확인된 사실로 쓰면 안 된다.
선언형 설정도 표현식·변수·플러그인이 특권 행동이 되면 프로그래밍 언어처럼 작동한다. 유연성이 커질수록 파서와 샌드박스의 안전 해석 범위도 커진다. 신뢰하지 않는 템플릿과 귀중한 인프라 접근을 같은 프로세스에 두는 조합이 위험하다.
입력을 데이터로 취급하고 객체를 최소화하며 제출을 허가하고 파일·망·자격증명을 제한하며 변경 책임을 남기는 독립 층이 유익하다. 흐름 생성·변경을 이후 게이트웨이 행동과 연결할 수 있어야 한다. CI 설정처럼 소유자·검토·버전·시험이 필요하다.
패치와 침해 판단은 다른 작업이다
운영자는 이전 이미지 다이제스트와 배포 증거를 보존하고 수정판을 설치·재시작한 뒤 실제 이미지를 확인해야 한다. 옛 복제본·시험·복구에 취약 이미지가 남으면 안 된다. 시작 성공만으로 전부 교체됐다고 할 수 없다.
취약 기간에는 누가 어떤 서비스 신원으로 흐름을 만들거나 바꿨는지 확인하고 설정·감사 기록을 보존한다. 예상치 못한 자식 프로세스·명령 해석기·파일 변화·외부 연결·재시작은 정상 기준과 비교해야 한다. 이는 조사 단서이지 모든 배포 공통의 공개 침해 지표가 아니다.
설치 문서는 서명 JWT와 별도 키 쌍을 가진 Gateway·Agent Platform 서비스를 설명한다. 양쪽·신뢰 관계·실행 키/설정을 조사해야 하며 한 자격증명이 전체 시스템을 대표하지 않는다. 침해 프로세스가 접근할 수 있던 비밀은 증거나 노출이 뒷받침할 때 교체할 필요가 있다.
GitLab 인스턴스·모델 서버·모니터링·내부 연결 대상을 파악한다. 컨테이너 저장이 작아도 코드 기반 프롬프트나 이슈 맥락은 민감할 수 있다. 외부 통신 제한·작업 신원·읽기 전용 파일·최소권한은 피해를 줄여도 템플릿 수정이나 업데이트를 대신하지 않는다.
자체 운영은 플랫폼·모델·컨테이너·망 팀에 일을 나눠 담당 없는 이미지가 틈에 빠질 수 있다. 관리형은 이 고객 패치 업무를 줄이지만 공급자·데이터 위치·의존성의 다른 선택을 만든다. 어느 방식이 항상 안전하다는 사례는 아니다.
공개 기록이 아직 보여 주지 않는 것
기존 보도는 생산 환경의 활발하거나 광범위한 악용·공개 개념검증·상세 호출 경로·보편적 침해 후 지표를 확정하지 않는다. 공개 확인 없음은 공격 없음의 확인이 아니다. 업체가 인정한 명령 실행과 중대 점수만으로도 더 노출시키지 않고 수정할 이유는 충분하다.
다음 증거는 검증된 고객 패치 도입·GitLab의 자세한 원인·믿을 만한 악용 텔레메트리나 새 기관 지침이다. 고객 업데이트 시간을 준 뒤 원인 공개는 별도 경로·우회·회귀를 구별할 수 있다. 전후 이미지·재시작·검증·책임자를 사고/설정 이력과 보존해야 한다.
실무 검증은 어떤 게이트웨이가 있는지, 누가 흐름을 고쳤는지, 각 프로세스가 어떤 자산과 비밀에 닿는지 답하는 것이다. AI 미들웨어도 CI 러너·아티팩트 저장소·비밀 관리자의 생산 규율이 필요하다. 실제 실행 서비스를 목록화·수정·격리·조사할 수 있을 때 데이터 현지화가 통제권이 된다.
출처와 관련 자료
CVE-2026-90970 기록 · AI Gateway 문서 · 템플릿 엔진 취약점 CWE-1336 · Duo 자체 호스팅 구조 · 설치와 서명 키 · 이전 CVE-2026-1868 기록 · 엔지니어링 사고 기록 안내 · 원래 발견 기록
