빛나는 블록들로 이루어진 어두운 모듈형 파이프라인의 추상 일러스트로, 열린 블록 하나에서 열쇠 모양의 빛이 빠져나와 어둠 속으로 흩어지는 모습.
AI Safety Incidents

Langflow CVE-2026-0768: 올해 실제 환경에서 악용된 12번째 Langflow 취약점

작성자

Elias Hawthorne

게시일

최신 모델 · 20모든 모델 보기 →
벤치마크: Artificial Analysis · 매일 업데이트
모든 게시물로 돌아가기

CVE-2026-0768은 대규모 언어 모델 파이프라인과 에이전트를 구성하기 위한 오픈소스 시각적 프레임워크인 Langflow의 인증이 필요 없는 원격 코드 실행 취약점이며, 2026년 8월 말까지 공격자들이 실제 공격에서 이를 이용하고 있었습니다. 이 취약점은 Langflow의 사용자 지정 컴포넌트 편집기 뒤에 있는 코드 검증기에 존재합니다. validate 엔드포인트는 code 매개변수를 받아 그 안에 포함된 Python을 실행하며, 인증이 없고 Zero Day Initiative의 표현대로 "root 권한 컨텍스트에서" 실행됩니다. VulnCheck의 Canary 허니팟 네트워크는 2026년 8월 30일 첫 탐지 이후 몇 시간 만에 50건이 넘는 익스플로잇 시도를 기록했고, 9월 1일 월요일까지는 360건이 넘게 기록했으며, 모두 영국에 있는 센서들을 대상으로 했습니다. VulnCheck의 Caitlin Condon은 출발지 트래픽이 주로 러시아에서 비롯됐다고 말했습니다. 이 요청들은 랜섬웨어가 아니었습니다. 이들은 Langflow 슈퍼유저 자격 증명, OpenAI API 키, AWS 액세스 키 및 시크릿 키를 담고 있는 환경 변수를 읽은 뒤 /root/.cache/langflow/secret_key, .ssh, .bash_history를 찾아보았습니다. 이 사건에 대한 아카이브의 전체 항목은 심각도, 신뢰도 및 피해 분류를 포함해 the Orca AI Incident Archive에 실려 있으며, 그 주변의 다른 자격 증명 탈취 및 AI 인프라 기록들과 나란히 있습니다.

Security Affairs는 2026년 9월 2일 자사 보도를 게시했고, SecurityWeek의 Ionut Arghire는 그 전날 해당 익스플로잇을 보도했으며, BleepingComputer의 Bill Toulas는 그 주에 이를 다뤘고, Cloud Security Alliance의 AI Safety Initiative는 9월 4일 메커니즘을 다시 설명하고 권고 사항을 덧붙인 연구 노트로 뒤를 이었다. 이 글을 위해 검토한 어떤 보도에서도 침해당한 조직의 이름은 밝혀지지 않았다. 모든 것은 VulnCheck 자체 센서와 Zero Day Initiative가 1월에 발표한 권고문으로 거슬러 올라간다.

검증하도록 요청받은 것을 실행하는 에디터

Langflow의 가장 큰 장점은 컴포넌트를 캔버스로 끌어다 놓아 AI 애플리케이션을 조립한다는 점입니다. 사용자 정의 컴포넌트는 Python입니다. 편집기에서 사용자가 코드를 붙여넣고 validate를 누르면 서버가 이를 검사합니다. ZDI 권고 ZDI-26-034에 따르면, 바로 그 검사가 코드를 실행합니다. 해당 권고의 근본 원인 문장은 한 줄입니다. "Python 코드를 실행하는 데 사용하기 전에 사용자 제공 문자열을 적절히 검증하지 못함"이며, 그 결과는 단일 비인증 HTTP 요청이 호스트에서 임의의 Python을 실행한다는 것입니다.

세 가지 속성 때문에 이것은 단순한 버그 리포트가 아니라 보안 사고가 됩니다. CVSS 벡터는 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H이며 점수는 9.8입니다. 즉 네트워크를 통해 도달 가능하고, 복잡도가 낮으며, 권한이 필요 없고, 사용자 상호작용이 없으며, 기밀성·무결성·가용성이 모두 완전히 상실됩니다. 실행 컨텍스트는 root이므로, Condon과 Cloud Security Alliance가 모두 설명하는 공격자 명령이 /root/.cache/langflow/secret_key — Langflow가 저장된 자격 증명과 세션 데이터를 암호화하는 데 사용하는 파일 — 을 향합니다. 그리고 이 엔드포인트는 자격 증명을 전혀 요구하지 않으므로, 노출 여부는 오직 도달 가능성에 달려 있습니다.

공개 이력은 이 사건이 어떻게 전개되었는지에 중요하다. ZDI의 타임라인에 따르면 보고서는 2025년 7월 18일 Langflow의 GitHub 계정에 도달했고, 2025년 9월 11일에는 업데이트 요청이, 2025년 10월 10일에는 수정 요청이 있었으며, 2025년 12월 10일에는 제로데이로 공개할 의사를 통지했다. ZDI는 2026년 1월 9일 권고문을 공개했다. 공로로 이름을 올린 연구자는 Trend Research의 Peter Girnus, William Gamazo Sanchez, Alfredo Oliveira다. GitHub의 권고 데이터베이스에는 GHSA-x5pr-rvjj-j6qm로 동일한 내용이 실려 있으며, 2026년 1월 23일 게시되었고 CWE-94로 분류되며 영향을 받는 버전 범위는 전혀 나열하지 않는다. ZDI가 제시한 완화책은 패치가 아니다. 바로 "제품과의 상호작용을 제한하라"는 것이다.

공개 보고에서는 영향을 받는 범위를 Langflow 릴리스 중 1.4.2까지(해당 버전 포함)로 제시하며, 이 버전은 나중에 추가된 Metasploit 모듈이 빌드되고 테스트된 대상 버전입니다. 확실성은 거기서 끝나며, 그 이유는 아래의 수정 사항 섹션에서 설명합니다.

360 탐지가 입증하는 것과 입증하지 않는 것

VulnCheck의 Canaries는 공격자가 스캔하는 대상처럼 보이도록 만들어진 인터넷 노출형 센서입니다. 이 회사는 2026년 8월 29–30일에 CVE-2026-0768의 최초 익스플로잇을 확인했습니다. 일요일에는 몇 시간 만에 50건 넘는 탐지가 있었고, 월요일까지 360건을 넘어섰습니다. VulnCheck의 위협 연구 부사장인 Condon은 LinkedIn에서 이 활동을 “정찰과 자격 증명 수집이 혼합된 것”이라고 설명하며, 소스 트래픽은 주로 러시아에서 발생했고 “지금까지는 영국에 있는 Canaries만을 공격했다”고 덧붙였습니다.

센서가 포착한 명령 시퀀스는 플레이북으로 삼을 만큼 구체적이다. 공격자는 환경에서 LANGFLOW_SUPERUSER, OPENAI_API와 일치하는 변수, 그리고 AWS_ACCESS 및 AWS_SECRET 키를 조회했다 — 이는 Langflow 호스트가 보유할 가능성이 가장 높은 세 가지 자격 증명 계열이다. 그들은 /root/.cache/langflow/secret_key에 캐시된 비밀 키를 읽었다. 그들은 .ssh 접근 여부를 확인하고 .bash_history의 크기를 점검했는데, 이 둘은 운영자가 단지 비밀을 읽는 것을 넘어 측면 이동을 할 수 있는지를 보여준다. Cloud Security Alliance가 인용한 이 체인에 관한 커뮤니티 분석 글은 동일한 활동이 소스 트리와 .env 파일에서 내장된 비밀을 검색하고, 발견한 것을 유출했으며, 자체 지속성을 추가하기 전에 호스트가 이전 운영자에 의해 이미 백도어가 설치되었는지 확인했다고 덧붙인다.

그것이 입증하는 것은 해당 익스플로잇이 작동한다는 점, 그것이 인터넷에 노출된 Langflow 인스턴스를 대상으로 사용되었다는 점, 그리고 목표가 서비스 중단이 아니라 자격 증명이었다는 점이다. 그것이 입증하지 않는 것은 피해자다. 카나리는 미끼이며, 탐지는 요청일 뿐 확인된 탈취가 아니다. 아카이브는 이 기록을 실제 피해로 분류하지만, 공개 출처에 문서화된 피해는 노출된 시스템을 대상으로 자격 증명 수집 코드가 실행된 것이 확인된 것일 뿐, 키가 실제로 사용된 특정 조직을 지목하는 것은 아니다.

한 가지 세부 사항은 취약점 공개에 관한 통상적인 이야기와 어긋난다. VulnCheck에 따르면, 익스플로잇이 시작될 당시 CVE-2026-0768에 대한 공개된 개념 증명(PoC)은 존재하지 않았다. 해당 보안 권고문은 거의 8개월 동안 공개되어 있었고, 누군가가 그 텍스트만으로 익스플로잇을 만들 수 있을 만큼 결함을 정확히 설명하고 있었다. The Hacker News가 보도한 대로, 이 회사의 판단은 유출된 코드를 재사용한 것이 아니라 독자적으로 도출한 것이라는 것이다.

A timeline card with seven dated events from 18 July 2025 to 8 October 2026, covering ZDI's report, the zero-day advisory, the first honeypot detections and the merged Metasploit module.

열두 가지 결함, 1만 5천 번의 시도 — 그리고 그 숫자들이 휘어지는 지점

이 사건에 무게를 실어 주는 통계는 VulnCheck에서 나왔으며, 이를 다른 말로 바꾸기보다 회사 자체의 표현 그대로 인용할 가치가 있다. "2026년 이전에는 야생에서 악용되는 것으로 알려진 Langflow 취약점이 단 하나뿐이라는 증거가 있었다"고 VulnCheck는 말했다. "2026년에는 상황이 빠르게 변했다." SecurityWeek는 VulnCheck가 2026년 동안 "표적이 되어 야생에서 악용되는 것으로 보고된 11개의 추가 취약점"을 추적하고 있다고 보도했다.

그것들을 더하면 악용된 Langflow 취약점 12건이 나오며, 그중 하나는 해당 연도 이전에 발생한 것이다. 그것은 2026년에 12건이라는 것과 같지 않으며, 출처들은 두 가지 틀 사이를 오간다. Forkast의 헤드라인은 CVE-2026-0768을 “Langflow의 2026년 12번째 악용된 CVE”라고 부르는 반면, 같은 기사의 본문은 그 12건을 “11개의 신규 취약점과 연초 이전에 확인된 1개”로 설명한다. 기록의 제목은 헤드라인을 따른다. 엄격히 읽으면 2026년은 12건 중 11건을 차지하며, 열두 번째, 즉 올해 이전에 알려진 것이 나머지를 구성한다.

15,000이라는 수치도 비슷한 한계를 지닌다. SecurityWeek, The Hacker News, Forkast는 모두 "15,000건 이상의 성공적인 공격"을 세 가지 명시된 취약점, 즉 CVE-2026-0769, CVE-2025-3248, CVE-2026-5027에 귀속시킨다. 이는 큰 숫자이지만, 세 개의 CVE에 걸친 집계일 뿐 Langflow의 2026년 전체 포트폴리오에 걸친 집계는 아니다. 이를 아카이브의 요약이 그렇듯 포트폴리오에 대한 익스플로잇 시도로 표현하는 것은 VulnCheck가 발표한 범위보다 더 넓다.

이 패턴을 뒷받침하는 개별 항목은 문서화되어 있다. CVE-2025-3248은 동일한 /api/v1/validate/code 엔드포인트의 코드 주입 취약점으로, Cloud Security Alliance가 인용한 GitHub 권고 GHSA-rvqx-wpfh-mfx7에 따르면 Langflow 1.3.0에서 실행을 컴파일 전용 검증으로 대체하여 패치되었다. 즉 CVE-2026-0768은 해당 수정이 배포된 지 약 4개월 후 동일한 코드 경로에서 발생한 같은 부류의 버그다. 공개 플로 빌드 엔드포인트의 인증 없는 RCE인 CVE-2026-33017은 2026년 3월 공개된 지 약 20시간 만에 무기화되었고, Cloud Security Alliance의 설명에 따르면 OpenAI, Anthropic, AWS 자격 증명을 탈취한 뒤 Monero 채굴로 전환하는 데 사용되었다. 같은 기관의 2026년 6월 12일자 노트는 연구자들이 이란의 국가 지원 그룹 MuddyWater와 연결한 파일 업로드 엔드포인트의 경로 순회 취약점인 CVE-2026-5027을 다루고, 9월 4일자 노트는 인증된 사용자가 다른 사용자의 플로를 실행할 수 있게 하는 권한 부여 우회인 CVE-2026-55255가 2026년 7월 7일 CISA의 Known Exploited Vulnerabilities 카탈로그에 등재된 사실을 기록한다. 이 네 건은 하나의 공통된 형태를 보인다. 즉, 인증을 건너뛰거나 새니타이제이션을 건너뛴 엔드포인트이며, 이는 자신이 통신하는 모든 대상의 자격 증명을 보관하는 것이 임무인 플랫폼에서 발생했다.

오케스트레이션 플랫폼이 수고를 감수할 가치가 있는 이유

프로덕션 Langflow 인스턴스에는 제공자 API 키, 클라우드 자격 증명, 데이터베이스 연결 문자열 및 통합 비밀이 구성되어 있습니다. 이는 인스턴스가 실행하는 플로우가 호출 시점에 이를 필요로 하기 때문입니다. 따라서 호스트가 침해되면 인스턴스가 저장한 자격 증명을 사용하는 모든 서비스에 대한 실질적인 접근 권한이 확보됩니다. 탈취된 OpenAI 또는 Anthropic 키를 통해 공격자는 추론 비용을 피해자에게 청구하거나 다운스트림에서 조직을 사칭할 수 있으며, 탈취된 AWS 키는 Langflow 컨테이너를 훨씬 넘어서는 인프라를 열어줍니다. 관찰된 명령들이 노린 것은 AI 특유의 기능이 아니라 바로 이러한 지렛대 효과였습니다.

클라우드 보안 연합(Cloud Security Alliance)의 판단은 단일 연도에 서로 다른 네 개의 Langflow 하위 시스템 — 코드 검증기, 공개 플로우 빌드 엔드포인트, 파일 업로드, 워크플로 실행 — 에서 반복된 것이 무관한 결함의 연속이 아니라 보안 엔지니어링의 체계적 격차를 가리킨다는 것입니다. 이는 연구 노트에서 제시된 연합의 평가이며, 독립 감사자의 발견 사항이 아니며, Langflow는 여기서 검토된 자료에서 이에 대해 공개적으로 응답하지 않았습니다.

무엇이 수정되었고, 무엇이 아직 모호한가

이것은 공개 기록에서 가장 취약한 부분이며, 그 이유를 정확히 짚어볼 가치가 있다. ZDI의 권고문에는 패치된 버전이 명시되어 있지 않다. Snyk의 해당 CVE 데이터베이스 항목은 영향을 받는 버전을 1.10.1 이전의 모든 버전으로 나열하고 1.10.1 이상으로 업그레이드할 것을 권장한다. SecurityWeek와 Security Affairs를 포함한 공개 보도는 영향을 받는 범위를 1.4.2까지의 릴리스로 설명하지만, 수정된 릴리스는 특정하지 않는다. Cloud Security Alliance는 9월 4일, Langflow 유지관리자들이 이 CVE를 명시한 전용 보안 권고문을 게시하지 않았으며, 어떤 릴리스가 실제로 이를 해결했는지에 대해 추적기들이 서로 의견을 달리했다고 언급했다. 이는 고정된 것으로 보고된 버전이 여전히 악용 가능한 상태로 남아 있었던 이전 Langflow 사례를 연상시킨다고 얼라이언스는 말했다.

Langflow는 올바른 영역에서, 바로 그날 수정 사항을 실제로 출시했습니다. 버전 1.11.6은 허니팟 수가 360을 넘어선 월요일인 2026년 9월 1일에 게시되었으며, 릴리스 노트에는 "구성 요소 코드 스캔 격차 해소"와 "실행 없이 주석 해결"을 포함한 보안 수정 사항의 백포트가 설명되어 있습니다(풀 리퀘스트 14876). 버전 1.12.0은 그날 저녁에 이어서 나왔습니다. 동일한 코드 경로에 대한 추가 강화 작업은 이후에도 계속되었습니다. 나중 풀 리퀘스트 제목인 "validate_code가 임포트를 실행하지 못하도록 중지"는 최초 악용 후 수 주가 지난 시점에도 검증 엔드포인트가 계속 강화되고 있었음을 보여줍니다. 이 중 어느 것도 CVE-2026-0768이 특정 릴리스에서 수정되었다는 벤더의 성명을 구성하지 않으며, 기록에서 인용된 출처에서도 그러한 성명은 발견되지 않았습니다.

공격자 측에서 무엇이 달라졌는지는 더 분명하다. 이 취약점에 대한 Metasploit 익스플로잇 모듈이 2026년 9월 2일 풀 리퀘스트로 올라왔고 — Security Affairs가 보도한 바로 그날 — 2026년 10월 8일 병합되었으며, Langflow 1.4.2를 대상으로 테스트되었다. 원래의 도출이 어떤 상태였든, 이 취약점을 익스플로잇하는 데 독자적인 작업이 필요하지 않게 된 것은 익스플로잇이 시작된 지 6주 만이었다.

Cloud Security Alliance가 권장하는 대응은 패치만 하는 것이 아니라 패치 후 교체하는 순서입니다. 실행 중인 버전을 확인하고 현재 안정 릴리스로 이동해야 합니다. 영향을 받는 버전의 인터넷 노출 인스턴스는 반증될 때까지 침해된 것으로 간주해야 합니다. 관찰된 활동은 눈에 보이는 중단이 아니라 조용한 수집이기 때문입니다. 또한 인스턴스가 접근할 수 있는 모든 시크릿, 즉 Langflow 슈퍼유저 비밀번호, 공급자 API 키, AWS 액세스 키와 시크릿 키, Langflow 시크릿 키 자체를 교체하고, 파일만 교체하지 말고 저장된 자격 증명을 다시 암호화해야 합니다. 또한 validate 엔드포인트에 대한 요청을 액세스 로그에서 감사하고, authorized_keys에서 낯선 SSH 키를 확인하며, 이전 운영자가 이미 호스트에 백도어를 심었다는 증거를 찾을 것을 권장합니다. 플랫폼에 계속 접근 가능해야 하는 경우에는 validate 엔드포인트를 게이트로 제한하거나 비활성화하고, 플랫폼에 직접 저장된 장기 고권한 키에서 벗어날 것을 제안합니다.

A card listing four VulnCheck detection figures beside the exact environment variables and files the attackers queried, including LANGFLOW_SUPERUSER, OPENAI_API and the cached Langflow secret key.

확립됨, 보고됨, 미확립됨

확인된 사실:CVE-2026-0768이 Langflow의 validate 엔드포인트에서 Python을 root 권한으로 실행하는 인증되지 않은 RCE이며, ZDI-26-034에 문서화되고 GHSA-x5pr-rvjj-j6qm로 미러링되었다는 점; 익스플로잇이 2026년 8월 29–30일에 시작되었다는 점; VulnCheck가 영국 센서에서 몇 시간 만에 50건 넘는 탐지를, 9월 1일까지 360건 넘는 탐지를 기록했으며 트래픽은 주로 러시아에서 유입되었다는 점; 그리고 관찰된 요청이 Langflow 슈퍼유저, OpenAI 및 AWS 자격 증명과 캐시된 비밀 키, .ssh 및 .bash_history를 대상으로 삼았다는 점. 이는 권고문 자체와 SecurityWeek, Security Affairs, The Hacker News가 각각 독립적으로 보도한 VulnCheck의 텔레메트리에서 나온 것이다.

보도된 사항으로, 독립적으로 검증되지는 않음: 모든 탐지 수치. 50, 360, 15,000은 VulnCheck 자체의 수치로, 이 회사가 발표했고 이를 인용한 매체들이 그대로 반복한 것이며, 이를 뒷받침하는 수치를 발표한 두 번째 허니팟 네트워크는 없다. 러시아 인프라로의 귀속 역시 VulnCheck의 소스 트래픽 해석일 뿐, 검토된 자료에서 어떤 정부나 CERT도 지지한 평가는 아니다.

확인되지 않음: 이름이 언급된 조직이 자격 증명을 상실했다는 점. 기록의 출처들에서는 피해자가 확인되지 않았습니다. 패치된 버전도 확인되지 않았습니다. ZDI는 어느 것도 명시하지 않았고, Snyk는 1.10.1이라고 하며, 보도에서는 1.4.2까지 영향을 받았다고 하고, 1.11.6 릴리스 노트는 보안 수정 사항을 설명하지만 이를 이 CVE와 연결하지 않습니다. 또한 위에 제시된 대로 "2026년의 열두 번째 결함"이라는 집계는 자체 출처들 사이에서도 내부적으로 일관되지 않습니다.

A three-column card separating what is established about the Langflow incident from what is reported but unverified and what is not established, in green, amber and red.

정기적으로 패치를 적용하는 사람들이 걱정해야 할 부분

8개월의 격차가 바로 이번 발견의 핵심이다. CVE-2026-0768은 2026년 1월 9일 제로데이로 공개됐고, 이를 재구성할 수 있을 만큼 상세한 기술 설명이 함께 있었지만, 8월 마지막 주말까지 VulnCheck의 센서에는 아무 일도 일어나지 않았다. 그러다 사흘 동안 수백 건의 시도가 들어왔는데, 회사 측 설명에 따르면 이는 복사할 공개 익스플로잇이 없던 운영자들이었다. 공개된 치명적 권고가 8개월 동안 있었는데도 그 인스턴스들을 패치되지 않은 상태로 유지시킨 무엇인가는, 누군가 마침내 코드를 작성했을 때 그 결함을 악용할 가치가 있게 만든 바로 그 무엇이다.

이는 또한 앞선 Langflow CVE들이 열어 둔 고리를 닫습니다. CVE-2025-3248은 동일한 validate 경로에서 실행을 제거하는 방식으로 수정되었지만, CVE-2026-0768은 결국 그 경로에서 실행됩니다. 동작을 만들어낸 설계 결정은 제거하지 않은 채 동작만 제거하는 수정은 시간을 벌어 줄 뿐이며, 이 경우에는 약 4개월을 벌어 주었습니다.