CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

CVE-2025-34291은 보안 점수가 CVSS v4.0: 9.4인 Langflow AI 에이전트 및 워크플로 플랫폼에서 발견된 중요한 취약점 체인입니다. 이 취약점을 통해 공격자는 사용자가 악성 웹 페이지를 방문하도록 유도하여 Langflow 인스턴스의 전체 계정 탈취 및 원격 코드 실행(RCE)을 달성할 수 있습니다.

1. 배경

토큰은 여러분 또는 토큰을 보유한 모든 사람에게 문을 열어줄 수 있습니다.

최근세일즈 로프트 드리프트이 사건은 이러한 공격이 초래할 수 있는 피해를 드러냈습니다. 공격자인 UNC6395는 훔친 OAuth 토큰을 사용하여 Cloudflare, Zscaler, Palo Alto Networks와 같은 대형 기술 기업을 포함한 약 700개의 Salesforce 조직에서 대규모로 데이터를 훔쳤습니다.

일체 포함代理和工作流平台已成为外部服务和数据系统的集成中心。每次集成都会增加更多凭证,将敏感访问权限集中在一处。这种集中化使得攻击者成为高价值目标:一次安全漏洞就可能让攻击者获得所有连接系统的“主密钥”。

공유 플랫폼의 경우 단일 보안 침해가 여러 조직에 영향을 미칠 수 있으며, 자체 호스팅 플랫폼의 경우 단일 보안 침해가 단일 조직 내의 여러 서비스에 노출될 수 있습니다. 이러한 위험을 고려하여 잘 알려진 여러 오픈 소스 AI 에이전트와 워크플로 플랫폼에 대한 보안 평가를 실시하여 기반 시스템의 완전한 붕괴로 이어질 수 있는 잠재적인 취약점을 파악했습니다.

저희는 GitHub에서 14만 개 이상의 별을 받은 AI 워크플로, RAG 애플리케이션, 다중 지능 시스템을 구축하기 위한 오픈 소스 로우코드 시각화 프레임워크인 Langflow를 주요 연구 주제로 선택했습니다.Python과 FastAPI를 기반으로 구축된 Langflow는 다음과 같습니다. Langflow는 Python과 FastAPI를 기반으로 구축되었으며, 개발자가 많은 코드를 작성하지 않고도 복잡한 AI 애플리케이션을 만들 수 있는 직관적인 드래그 앤 드롭 인터페이스를 제공합니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

특히 Langflow는 2024년 4월 DataStax에 인수되었으며, 현재 IBM이 인수(2025년 2월 발표)하고 있어 Langflow는 IBM의 확장 중인 Watsonx AI 포트폴리오의 일부가 되었습니다.

2, 랭플로우 깊이 분석 및 적용

2.1, CVE-2025-3248: 2년간의 역사

Langflow는 젊고 빠르게 반복되는 프로젝트로, 보안에 대해 더 자세히 살펴볼 필요가 있는 프로젝트입니다. 좋은 시작점은 취약점 이력입니다. 불과 몇 달 전, 1.3.0 이전 버전에 영향을 미치는 심각한 인증되지 않은 원격 코드 실행 취약점인 CVE-2025-3248 취약점이 드러났습니다.

정말 놀라운 것은 문제의 심각성뿐만 아니라 그 뒤에 숨겨진 이야기입니다. 최초 발견부터 최종 수정까지 거의 2년이라는 이례적으로 긴 시간이 걸렸으며, 이 기간 동안 아키텍처의 절충점과 Langflow의 보안 태세가 어떻게 발전해왔는지 드러났습니다.

발견 및 수정 일정:

  • 2023년 7월 27일GitHub 사용자 @Lyutoon이 이슈를 제출했습니다. #696인증되지 않은 코드 유효성 검사 엔드포인트는 함수 정의의 기본 매개변수를 통해 원격 코드 실행(RCE)에 악용될 수 있다는 점에 유의하세요.
  • 2024년 11월 10일Github 사용자 @nimasteryang이 풀 리퀘스트를 제출했습니다. #4488를 통해 취약점을 해결하려고 시도했지만 기존 기능을 손상시킬 수 있어 수정이 중단되었습니다.
  • 2025년 2월 22일 Horizon3.ai보안 연구원들이 GitHub 보안 이슈를 통해 Langflow의 취약점을 보고하면서 코드 유효성 검사 중에 함수 데코레이터를 활용하여 RCE를 트리거하는 두 번째 다른 RCE 벡터를 발견했습니다.
  • 상임 대표가 보낸 2025년 3월 3일자 서신: 취약한 엔드포인트의 Langflow 팀#6911CVE-2025-3248 취약점을 공식적으로 수정하기 위해 인증 요구 사항을 구현합니다.

지난 2년간의 타임라인은 익숙한 상충 관계를 강조합니다. 특히 AI 분야에서 팀들은 안전은 뒷전인 채 채택을 이끌어내기 위해 동분서주하고 있습니다.

2.2. 취약점: 간략한 검토

이 취약점이 어떻게 작동하는지 간략하게 살펴보겠습니다.

핵심 문제는 Langflow의/api/v1/validate/code사용자 정의 컴포넌트에 대한 Python 코드 스니펫을 인증하도록 설계된 인터페이스입니다. 하지만 버전 1.3.0 이전에는 인증 없이 이 인터페이스에 액세스할 수 있었습니다:

src/backend/base/langflow/api/v1/validate.py

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

해야 합니다.validate_code()이 함수는 제공된 코드를 구문 분석하고 함수 정의가 포함되어 있는지 확인한 다음 해당 함수를 실행하여 확인합니다:

src/backend/base/langflow/utils/validate.py

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

이 코드는 함수 정의가 실행해도 안전하다고 가정합니다. 그렇지 않습니다. exec()` 함수는 함수 정의를 실행할 때 기본 인수와 데코레이터의 표현식을 즉시 실행합니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

샌드박싱 메커니즘이 없으면 인증되지 않은 사용자가 서버에 POST 요청을 전송하여 시스템을 완전히 손상시킬 수 있습니다./api/v1/validate/code.

이 취약점은 손상된 랭플로우 인스턴스를 통해 플로드릭 봇넷을 배포하는 위협 공격자들이 적극적으로 악용하고 있습니다.트렌드 마이크로 연구이것은 녹음되었습니다.

3. 개방성에서 폐쇄성까지

CVE-2025-3248에 대응하기 위해 /api/v1/validate/code 엔드포인트에 인증 기능을 추가했습니다. 요청이 이 엔드포인트에 도달하면 FastAPI의 종속성 주입 메커니즘이 자동으로 인증 프로세스를 트리거합니다..

3.1. 엔드포인트 명세서 인증 요구 사항

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

3.2. 사용자 계정이 활성화되어 있는지 확인합니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

3.3. 물리적 인증 확인 수행하기

get_current_user() 함수는 우선순위에 따라 두 인증 소스를 모두 확인합니다:

애초에권한 부여의 JWT 토큰: 무기명 헤더

두 번째 유형x-api-key 헤더 또는 쿼리 매개변수의 API 키

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

코드 유효성 검사 엔드포인트는 패치가 릴리스된 후 더 이상 기본적으로 열리지 않습니다. 이제 이 엔드포인트에 액세스하려면 유효한 JWT 토큰 또는 유효한 API 키가 필요합니다.

4. 보호에서 유출로:CVE-2025-34291

이론적으로는 인증이 완벽해 보입니다. 따라서 실질적인 질문은 유효한 자격 증명을 액세스하거나 활용할 수 있는가 하는 것입니다. 다음 세 가지 영역이 관심의 대상입니다:

1) API 키

API 키는 기본적으로 자동으로 구성되지 않으며 사용자가 설정에서 명시적으로 생성해야 합니다. 제한된 공격 표면.

2) CSRF와 CORS?

이것은 흥미로운 경로입니다. 적절한 CSRF 보호가 없으면 공격자는 다음을 수행할 수 있습니다.사이트 간 쓰기사용자로 요청하기. CORS 정책이 잘못 구성된 경우 공격자가 수행할 수 있는 다른 작업이 있습니다.교차 출처 읽기를 사용하여 인증된 요청이 반환한 민감한 응답을 얻습니다.

3) XSS로 JWT 토큰 훔치기

백엔드는 로그인 중에 JWT(HS256)를 생성하고 서명한 다음 이를 HTTP 응답의 일부로 설정하여access_token_lf쿠키SameSite=Lax. 응답 본문에도 동일한 토큰이 포함됩니다.

그러면 프런트엔드는 이 쿠키를 읽고 표준인증: 무기명헤더는 모든 API 요청에 이 토큰을 포함합니다.

즉, JWT 토큰의 값은 다음과 같습니다.access_token_lf쿠키에 저장되는 값은 동일합니다. 쿠키는 암호화되지 않으므로HttpOnly그렇기 때문에 클라이언트 측 자바스크립트가 이를 읽을 수 있지만, 이를 위해서는 Langflow에서 별도의 XSS 취약점이 필요합니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

다행히도 방법 2는 작동했습니다. 두 가지 구성 오류가 함께 인증을 완전히 우회하는 것을 발견했습니다.

4.1. CORS 구성 오류

기본적으로 Langflow는 모든 소스의 요청을 허용하기 위해 느슨한 설정으로 FastAPI의 CORSMiddleware를 사용합니다. 또한허용_자격증명공격자가 자격 증명을 사용하여 교차 도메인 요청을 시작할 수 있도록 하려면 이 설정도 True로 설정합니다.

langflow/main.py#L292-L300

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점
CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

그러나 더 이상의 악용을 막는 두 가지 문제가 있습니다:

  • 이슈 1: 인증 쿠키access_token_lf구성된SameSite=Lax를 사용하면 최상위 수준에서 사용자가 시작한 GET 탐색을 제외한 대부분의 교차 사이트 컨텍스트(XHR/fetch/POST)에서 제외됩니다.
  • 이슈 2Langflow 1.5 이상에서는 대부분의 API 엔드포인트에 Langflow API 키를 제공하거나 교차 도메인 요청에 자동으로 포함되지 않는 권한 부여 헤더에 JWT 토큰을 포함하여 추가 인증이 필요합니다.

따라서 인증된 교차 도메인 요청을 보낼 수 없어야 합니다. 이 CORS 설정은 간과한 세부 사항이 공격 체인을 재점화하기 전까지는 충분히 무해해 보입니다.

4.2. refresh_token_lf 쿠키 구성 오류

해야 합니다.refresh_token_lf쿠키 구성SameSite=없음; 보안를 사용하여 HTTPS를 통해 교차 사이트 컨텍스트에서 액세스할 수 있습니다. 또한 최대 1주일 동안 유효하므로 공격자에게 공격할 수 있는 기간이 더 길어집니다.

해야 합니다./api/v1/refresh엔드포인트는 인증 메커니즘으로 이 쿠키에만 의존하며 추가적인 CSRF 보호 기능을 구현하지 않습니다.

결과적으로 공격자가 제어하는 도메인의 교차 도메인 요청은/api/v1/refresh새로운 토큰 쌍을 성공적으로 획득할 수 있습니다.액세스 토큰그리고 새로운 토큰새로고침_토큰이렇게 하면 완전한 세션 하이재킹이 가능합니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

유효한 액세스 토큰을 소유한 공격자는 다른 도메인 간 요청을 발행하여 CVE-2025-3248 취약점을 악용하고 원격 코드 실행을 가능하게 할 수 있습니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점

5. 복제 단계

5.1 환경 설정

1. Docker Compose를 사용하여 로컬에서 Langflow를 구성하고 HTTPS를 활성화합니다.:

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점


2. 랭플로 방문하기:https://:443브라우저에서 파일을 열고<서버 주소는 Langflow가 배포된 서버의 IP/호스트명입니다.

3. 로그인기본값 사용관리자:관리자새 사용자 세션을 시작하기 위한 자격 증명입니다.

5.2 개념 증명

1. PoC 페이지를 엽니다.: 내비게이션https://www.pocs.app/langflow-cors-vul-poc.html까지

2. 구성 목표대상 기본 URL을 변경한 다음익스플로잇 실행.

3. 기적을 목격하다: 몇 초 내에 다음과 같은 일이 발생합니다:

  • POST /api/v1/refresh브라우저는 피해자 쿠키가 포함된 교차 도메인 요청을 보냅니다.
  • PoC 추출 및액세스_토큰 새로고침_토큰
  • 그런 다음/api/v1/validate/code엔드포인트가 원격 코드 실행(RCE)을 트리거합니다.

4. 결과환경 변수 또는 기타 민감한 데이터가 PoC 터미널 패널에 표시됩니다.

6. 취약점의 영향

Langflow는 전역 변수를 사용하여 자격 증명 및 기타 공통 값을 저장하고 프로세스 전반에서 재사용합니다. 이러한 변수는 내부 데이터베이스에 영구적으로 저장되며 해당 값은 키를 사용하여 암호화됩니다.

시스템이 손상되면 공격자는 이러한 값을 쉽게 해독할 수 있습니다.

CVE-2025-34291: Langflow AI 인텔리전스 본체 및 워크플로 플랫폼 계정 탈취 및 원격 코드 실행 취약점
플랫폼에서 토큰과 API 키를 추출하는 예시

전체 세션 하이재킹 및 원격 코드 실행 - 한 번의 악성 웹 방문으로 시스템을 완전히 제어할 수 있습니다. CORS를 통해 피해자의 브라우저에서 요청이 시작되기 때문에 로컬에 배포되지 않은 비공개 인스턴스도 악용될 수 있습니다.

원격 코드 실행(RCE) 취약점은 AI 에이전트 및 워크플로 플랫폼으로서의 Langflow의 역할과 관련하여 특히 위험합니다. 공격자는 작업 공간에 저장된 프로젝트 흐름과 API 키, 데이터베이스 비밀번호, 서비스 토큰 등 SaaS, 클라우드 및 기타 환경에 연결하는 데 사용되는 권한 있는 자격 증명에 액세스할 수 있습니다. 이는 공격의 범위를 Langflow 인스턴스 자체 이상으로 크게 확장하여 Langflow와 같은 에이전트 빌드 플랫폼을 단일 장애 지점으로 만듭니다.

6.1 보안 권장 사항

Langflow의 전체 수정 사항 공개가 지연되는 이유는 쿠키/CORS 설정을 강화하면 프론트엔드/백엔드 분리 배포가 중단될 수 있다는 우려 때문인 것으로 보입니다.

보안 관점에서 보면 새로 고침 엔드포인트를 어떻게 보호해야 할까요?

1. 쿠키를 기반으로 인증하는 경우 적절한 CSRF 보호가 적용되어야 합니다. 동일한 사이트 배포(예: https://app.example.com → https://api.example.com, 교차 도메인이지만 여전히 동일한 사이트에 속함)의 경우 새로 고침 쿠키는 SameSite=Lax 또는 Strict(보안 및 HttpOnly를 모두 활성화하는 것이 바람직함)로 안전하게 사용할 수 있습니다. 프론트엔드와 백엔드가 같은 사이트에 있지 않은 경우 프런트 엔드와 백엔드가 같은 사이트에 있지 않고 일부 기능에 SameSite=None이 필요한 경우 명시적인 CSRF 토큰 메커니즘을 추가해야 합니다.

2. 새로고침 토큰은 쿠키가 아닌 HTTP 헤더를 통해 전송하는 것이 바람직합니다. 인증: 무기명 `을 사용하면 CSRF 위협 모델을 완전히 제거하고 브라우저에서 관리하는 자격 증명 첨부 파일을 피하며 CORS 강화를 간소화할 수 있습니다.

마지막으로, 이 취약점은 하나의 치명적인 결함에서 비롯된 것이 아니라 무해해 보이는 구성 선택이 결합되어 심각한 공격 경로를 형성한 결과였습니다. 이 사건은 복잡한 시스템에서는 무해해 보이는 설계 결정도 예상치 못한 방식으로 상호 작용할 수 있다는 중요한 교훈을 강조합니다. 특히 AI 플랫폼이 기업 워크플로에 점점 더 많이 내장되고 점점 더 민감한 데이터를 처리함에 따라 포괄적인 보안 검토와 기본 보안 구성의 중요성이 강조되고 있습니다.

6.2 완화 조치 프로그램

책임감 있게 문제를 공개한 후 Langflow 팀은 문제를 인정하고 일련의 수정 작업을 시작했습니다. Langflow 개발 로그에 따르면

  • 버전 1.6.0새로운 환경 변수가 도입되어 사용자가 Langflow의 CORS 구성을 완전히 사용자 지정할 수 있습니다.
  • 곧 출시될 1.7 릴리스에서는다음은 CORS의 프로그램 및 활동의 몇 가지 예입니다.refresh_token_lf쿠키는 모두 더 안전한 기본 설정으로 설정됩니다:
    • CORS는 명시적으로 지정된 출처의 인증된 요청만 허용합니다.
    • refresh_token_lf쿠키는 기본적으로 다음과 같이 설정됩니다.SameSite=Lax사이트 간 노출을 줄이세요.

이 글을 쓰는 현재 최신 공식 버전은 1.6.9이며, 원클릭 원격 코드 실행(1클릭 RCE)은 여전히 기본 설정으로 완벽하게 사용할 수 있습니다.

조직은 다음을 따를 수 있습니다.공식 CORS 가이드배포를 수동으로 개선합니다. 또는 프런트 엔드와 백엔드가 같은 사이트에 있는 경우 PR을 적용할 수 있습니다. #10139의 복원 절차는새로고침_동일한_사이트업데이트는 소스 코드 수준에서 이루어집니다.StrictLax

또한 Langflow 팀은 다음과 같은 코드 유효성 검사 엔드포인트에 대한 작업을 진행하고 있습니다.#10696개발 샌드박스. 이를 통해 잠재적인 원격 코드 실행 위험이 완전히 해결되기를 바랍니다.

6.3. 취약점 공개 일정

  • 2025년 7월 29일- 이 취약점은 깃허브 보안 이슈를 통해 제출되었으며, 백업용으로 HackerOne의 DataStax에도 보고되었습니다.
  • 2025년 7월 29일자 서신, 상임대표가 보낸--Langflow 제출 PR #9240("쿠키 보안 개선"). 이 프론트엔드 변경은 백엔드에서 구성해야 하는 httpOnly 쿠키에는 영향을 미치지 않으므로 문제가 완화되지 않습니다.
  • 2025년 7월 31일- HackerOne의 보고서는 분류되어 있습니다.
  • 2025년 8월 5일자 서신, 상임대표가 보낸 편지--GitHub 보안 문제에 대한 업데이트를 요청합니다.
  • 상임 대표가 보낸 2025년 9월 7일자 서신--GitHub 보안 문제에 대한 업데이트를 요청합니다.
  • 2025년 9월 11일- Langflow 제출 PR #9441("사용자 제어를 허용하는 환경 변수 추가") 및 "v1.7에서는 와일드카드 소스를 사용할 때 자격 증명이 자동으로 비활성화됩니다"라는 경고가 추가되었습니다.
  • 2025년 9월 25일-- Langflow 1.6.0 출시: CORS 허용 소스를 사용자 지정할 수 있는 환경 변수를 도입했습니다. 그러나 기본 구성은 여전히 취약합니다.
  • 2025년 9월 26일--해커원의 진행 상황에 대한 업데이트를 요청합니다.
  • 2025년 10월 3일자 서신, 상임대표가 보낸-- DataStax는 "팀 일입니다."라고 대답했습니다.
  • 2025년 10월 22일- 아직 GitHub 보안에 대한 업데이트는 없으며, VulnCheck에 CVE 번호 부여를 요청했습니다.
  • 2025년 10월 23일자 서신, 상임대표가 보낸--CVE-2025-34291 취약점이 할당되었습니다. 신속한 CVE 도움말을 제공해 주신 VulnCheck 팀에 감사드립니다.
  • 2025년 11월 4일--4개월이 지나고 사용자가 CORS 구성을 조정하여 문제를 수동으로 완화할 수 있었기 때문에 이 연구를 발표하기로 결정했습니다.

옵시디언 시큐리티의 보안 연구원들이 Langflow에서 심각한 취약점을 연쇄적으로 발견했습니다.

최고 보안 책임자의 원본 기사, 복제할 경우 출처 표시: https://www.cncso.com/kr/cve-2025-34291-langflow-ai-agent-workflow-platform-rce.html

좋다 (1)
Previous 2025년 음력 12월 11일 오전7:53
Next 2025년 12월 20일 오전8:20