DEEP DIVE REPORT

CVE-2025-34291: Langflow Origin 검증 오류 KEV 등록과 AI 워크플로우 서버 노출 점검

SecurityDesk
2026.05.26 조회 3

서론

Langflow는 AI 에이전트와 워크플로우를 시각적으로 구성할 수 있는 오픈소스 플랫폼으로, 전 세계 140,000개 이상의 GitHub 스타를 보유한 인기 있는 도구입니다. 그러나 최근 CISA KEV(Katalog of Known Exploited Vulnerabilities)에 등록된 CVE-2025-34291 취약점은 Langflow를 운영하는 기업과 기관에 심각한 보안 위협을 가합니다.

이 취약점은 사용자가 악성 웹페이지를 방문하기만 하면 계정 탈취와 원격 코드 실행(RCE)이 가능한 복합적인 보안 결함입니다. 특히 Langflow가 AI/LLM 워크플로우 구축을 위한 통합 허브로 사용되면서, 다양한 클라우드 서비스와 SaaS 환경에 연결된 자격증명이 한 곳에 집중되어 있어, 이 취약점을 악용하면 연결된 모든 하위 서비스까지 위협을 받을 수 있습니다.

본론

취약점 개요

CVE-2025-34291은 Langflow 버전 1.6.9 이하에 존재하는 보안 취약점으로, CVSS v4.0 기준 9.4점(Critical)의 높은 위험도를 가집니다. 이 취약점은 세 가지 보안 결함이 결합되어 발생합니다.

첫째, 과도하게 관대한 CORS(Cross-Origin Resource Sharing) 설정입니다. Langflow는 기본적으로 모든 출처(allow_origins=*)에서 인증 정보가 포함된 요청을 허용하도록 설정되어 있습니다. 이는 악의적인 웹페이지도 Langflow 서버로 인증된 요청을 보낼 수 있게 합니다.

둘째, CSRF(Cross-Site Request Forgery) 방어 기능 부족입니다. Langflow의 토큰 갱신 엔드포인트(/api/v1/refresh)는 refresh_token_lf 쿠키만을 인증 수단으로 사용하며, 이 쿠키가 SameSite=None으로 설정되어 있어 크로스사이트 요청에서도 사용할 수 있습니다. 또한 별도의 CSRF 토큰 검증이 없습니다.

셋째, 코드 실행 엔드포인트입니다. /api/v1/validate/code 엔드포인트는 설계상 사용자가 작성한 Python 코드를 실행하여 유효성을 검증합니다. 이 엔드포인트는 인증이 필요하지만, CSRF 취약점을 통해 토큰을 탈취하면 인증된 상태로 악의적인 코드를 실행할 수 있습니다.

공격 조건 및 절차

이 취약점을 악용하기 위한 공격 조건은 매우 낮습니다. 공격자는 피해자가 악성 웹페이지를 방문하도록 유도하기만 하면 됩니다. 일반적인 피싱 공격이나 악성 광고, 취약한 웹사이트의 위장 등을 통해 이를 달성할 수 있습니다.

공격 절차는 다음과 같습니다. 피해자의 브라우저가 악성 웹페이지를 열면, 해당 페이지에서 크로스사이트 요청을 Langflow 서버의 /api/v1/refresh 엔드포인트로 보냅니다. 이때 피해자의 refresh_token_lf 쿠키가 자동으로 포함됩니다.

Langflow 서버는 이 요청을 처리하여 새로운 access_tokenrefresh_token 쌍을 발급하고, 이를 응답으로 반환합니다. 악성 웹페이지는 이 응답을 가로채어 토큰을 추출합니다.

이제 공격자는 탈취한 access_token을 사용하여 Langflow의 인증된 엔드포인트에 접근할 수 있습니다. 특히 /api/v1/validate/code 엔드포인트에 악의적인 Python 코드를 포함한 요청을 보내면, Langflow 서버에서 해당 코드를 실행하여 원격 코드 실행을 달성합니다.

영향 범위 및 위험성

CVE-2025-34291의 영향 범위는 Langflow 인스턴스 자체에 국한되지 않습니다. Langflow는 AI 워크플로우에서 다양한 외부 서비스와 데이터 시스템을 통합하는 허브로 사용됩니다. 각 통합마다 데이터베이스 비밀번호, API 키, 서비스 토큰과 같은 자격증명이 Langflow 워크스페이스 내에 저장됩니다.

공격자가 시스템을 장악하면 이러한 모든 자격증명에 접근할 수 있습니다. Langflow는 이러한 값을 내부 데이터베이스에 암호화하여 저장하지만, 시스템이 장악되면 암호화 키도 노출되어 자격증명 복구화가 가능합니다.

이는 단일 침해가 연결된 모든 하위 서비스로 확장되는 연쇄적인 장악 사태로 이어질 수 있습니다. 특히 공유 플랫폼인 경우 하나의 침해가 여러 조직에 영향을 미칠 수 있고, 자체 호스팅 환경에서도 하나의 침해가 해당 조직 내의 다양한 서비스를 위협합니다.

특히 공용 네트워크에 노출되지 않은 온프레미스 환경에서도 이 취약점을 악용할 수 있습니다. 요청이 피해자의 브라우저에서 CORS를 통해 발생하므로, 비공개 인스턴스도 방어되지 않습니다.

국내 기업 점검 포인트

국내 기업에서는 다음 사항을 중점적으로 점검해야 합니다. Langflow 사용 여부를 전사적으로 파악해야 합니다. 개발팀, 데이터 분석팀, AI 연구팀 등 다양한 부서에서 Langflow를 도입하여 프로토타이핑이나 프로덕션 환경에서 사용할 수 있습니다.

운영 중인 Langflow 버전을 확인해야 합니다. 1.6.9 이하 버전을 사용 중이라면 즉시 업그레이드가 필요합니다. 특히 Docker 이미지를 사용하는 경우 langflowai/langflow:latest 태그를 사용 중이라면 최신 버전으로 업데이트해야 합니다.

CORS 설정을 점검해야 합니다. 기본 설정인 allow_origins=*allow_credentials=True가 그대로 사용되고 있는지 확인하고, 필요한 출처만 명시해야 합니다.

refresh_token_lf 쿠키 설정을 확인해야 합니다. SameSite=None으로 설정되어 있다면 SameSite=Lax 또는 Strict로 변경해야 합니다. 단, 프론트엔드와 백엔드가 동일 사이트인 경우에만 가능합니다.

Langflow에 저장된 민감한 자격증명을 식별하고, 장악 시 어떤 외부 서비스가 영향을 받는지 사전에 파악해야 합니다. 클라우드 리소스, 데이터베이스, API 서비스 등 연결된 서비스 목록을 작성하고, 자격증명 교체 계획을 수립해야 합니다.

대응 방안

즉시 조치 (24시간 이내)

Langflow 버전을 1.9.3 이상으로 업그레이드해야 합니다. 이 버전은 CVE-2025-34291에 대한 보안 수정 사항을 포함합니다. 패키지 관리자를 사용하여 pip install langflow==1.9.3으로 설치하거나, Docker 이미지를 langflowai/langflow:1.9.3으로 업데이트할 수 있습니다.

업그레이드가 즉시 어려운 경우, Langflow 서비스를 일시 중지해야 합니다. 특히 인터넷에서 접근 가능한 인스턴스는 즉시 차단해야 합니다.

CORS 설정을 수동으로 강화해야 합니다. Langflow 공식 가이드라인에 따라 환경 변수 LANGFLOW_CORS_ALLOW_ORIGINS를 설정하여 필요한 출처만 명시합니다.

REFRESH_SAME_SITE 환경 변수를 Lax 또는 Strict로 설정해야 합니다. 단, 이는 프론트엔드와 백엔드가 동일 사이트인 경우에만 유효합니다.

네트워크 보안 규칙을 적용하여 Langflow 서버에 대한 접근을 제한해야 합니다. IP 화이트리스트를 구성하거나 VPN을 통한 접근만 허용해야 합니다.

단기 조치 (72시간 이내)

모든 사용자 계정의 비밀번호를 변경해야 합니다. 특히 관리자 계정은 우선적으로 처리해야 합니다.

Langflow에 저장된 모든 자격증명을 재발급해야 합니다. API 키, 데이터베이스 비밀번호, 서비스 토큰 등을 새로 생성하고 Langflow 워크스페이스에 등록해야 합니다.

연결된 모든 외부 서비스의 접근 로그를 검토해야 합니다. 이상 활동이 있는지 확인하고, 의심스러운 접근이 있다면 해당 서비스의 보안 조치를 취해야 합니다.

보안 모니터링을 강화해야 합니다. Langflow 서버의 로그를 모니터링하여 이상 요청을 탐지할 수 있도록 WAF(Web Application Firewall)나 IDS(Intrusion Detection System)를 구성해야 합니다.

장기 조치 (1주 이내)

정기적인 보안 점검 절차를 수립해야 합니다. 취약점 스캔, 코드 리뷰, 보안 테스트를 정기적으로 수행하여 보안 격차를 조기에 발견해야 합니다.

Langflow 배포 구조를 보안적으로 재설계해야 합니다. 개발/운영 환경 분리, 네트워크 분리, 최소 권한 원칙을 적용해야 합니다.

코드 실행 엔드포인트에 대한 샌드박싱을 도입해야 합니다. Langflow 팀이 개발 중인 샌드박스 기능(#10696 PR)이 완료되면 이를 적용하여 잠재적인 RCE 위험을 완화해야 합니다.

CSRF 방어 메커니즘을 강화해야 합니다. 토큰 갱신 엔드포인트에 CSRF 토큰 검증을 추가하거나, 리프레시 토큰을 쿠키가 아닌 HTTP 헤더(Authorization: Bearer <refresh_token>)로 전송하도록 아키텍처를 개선해야 합니다.

관리자 체크리스트

  • [ ] Langflow 사용 현황 파악 (버전, 배포 환경, 사용자 수)
  • [ ] Langflow 버전 확인 (1.6.9 이하 사용 시 즉시 업그레이드)
  • [ ] CORS 설정 검토 (allow_originsallow_credentials 설정)
  • [ ] refresh_token_lf 쿠키 설정 확인 (SameSite 속성)
  • [ ] 네트워크 접근 제어 (IP 화이트리스트, VPN 등)
  • [ ] 저장된 자격증명 식별 (API 키, DB 비밀번호, 서비스 토큰)
  • [ ] 연결된 외부 서비스 목록 작성
  • [ ] 모든 사용자 비밀번호 변경
  • [ ] 저장된 자격증명 재발급 및 등록
  • [ ] 외부 서비스 접근 로그 검토
  • [ ] 보안 모니터링(WAF, IDS) 구성
  • [ ] 정기적 보안 점검 절차 수립
  • [ ] 보안 아키텍처 재설계 계획 수립
  • [ ] 장악 시 대응 절차(IR Plan) 마련

탐지 포인트

네트워크 레벨에서는 다음 활동을 모니터링해야 합니다. 예상치 못한 출처에서 Langflow 서버로의 인증된 요청이 있는지 확인해야 합니다. 특히 /api/v1/refresh 엔드포인트에 대한 비정상적인 접근을 탐지해야 합니다.

Langflow 서버에서 원격 코드 실행과 관련된 시스템 호출이 있는지 확인해야 합니다. 예기치 못한 프로세스 생성, 파일 시스템 접근, 네트워크 연결 등을 감시해야 합니다.

애플리케이션 레벨에서는 /api/v1/validate/code 엔드포인트에 대한 비정상적인 요청을 탐지해야 합니다. 일반적인 개발 활동과 다른 패턴의 코드 검증 요청이 있는지 확인해야 합니다.

로그인 및 토큰 갱신 활동을 모니터링해야 합니다. 예상치 못한 시간이나 지역에서의 로그인, 비정상적인 토큰 갱신 패턴 등을 탐지해야 합니다.

결론

CVE-2025-34291은 Langflow의 보안 구성 결함들이 결합하여 발생하는 취약점으로, 사용자가 악성 웹페이지를 방문하기만 하면 시스템 장악과 원격 코드 실행이 가능합니다. 특히 Langflow가 AI/LLM 워크플로우 플랫폼으로 다양한 클라우드와 SaaS 환경에 통합되어 사용되면서, 이 취약점을 악용하면 연결된 모든 하위 서비스까지 위협을 받습니다.

국내 기업에서는 Langflow 사용 현황을 신속히 파악하고, 2026년 6월 4일(CISA KEV 조치 기한) 이전에 필수 조치를 완료해야 합니다. 즉시 업그레이드가 어려운 경우 CORS 설정 강화, 서비스 일시 중지, 네트워크 접근 제한 등 완화 조치를 취해야 합니다.

보안은 단일 결함이 아닌, 여러 개별 결함들이 결합할 때 발생할 수 있습니다. 복잡한 시스템에서는 개별적으로 무해해 보이는 설계 결정들도 예기치 못한 방식으로 상호작용할 수 있습니다. AI 플랫폼이 기업 워크플로우에 깊이 통합되고 점점 더 민감한 데이터를 처리하게 됨에 따라, 전체적인 보안 검토와 기본적으로 보안이 적용되는 설정(Secure-by-Default)이 더욱 중요해지고 있습니다.

참고자료

  1. CISA Known Exploited Vulnerabilities Catalog
    https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-34291

  2. NVD - CVE-2025-34291
    https://nvd.nist.gov/vuln/detail/CVE-2025-34291

  3. Obsidian Security Blog
    https://www.obsidiansecurity.com/blog/cve-2025-34291-critical-account-takeover-and-rce-vulnerability-in-the-langflow-ai-agent-workflow-platform

  4. GitHub Langflow Repository
    https://github.com/langflow-ai/langflow

  5. Langflow Release v1.9.3
    https://github.com/langflow-ai/langflow/releases/tag/v1.9.3

  6. VulnCheck Advisory
    https://www.vulncheck.com/advisories/langflow-cors-misconfiguration-to-token-hijack-and-rce

  7. CrowdSec Vulntracking Report
    https://www.crowdsec.net/vulntracking-report/cve-2025-34291


본 컨텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9