보안이슈

Langflow MCP 취약점 6건 분석|인증 경계와 명령 실행 대응

Langflow 1.10.3 이하의 MCP Composer 인증 우회·명령 주입·Docker 호스트 노출 경계를 구분하고 1.11.0 업그레이드와 검증 순서를 다룹니다.

Langflow MCP 취약점 6건 표지
Langflow MCP 취약점 6건 표지

공개 범위와 공통 대응

IBM의 공식 Langflow OSS 보안 게시판은 1.0.0부터 1.10.3까지를 영향 범위로 제시하고 1.11.0 이상으로 업그레이드하도록 안내합니다. 이번 묶음은 MCP Composer 인증 우회, 로컬호스트 제한 우회, 명령 필드 주입, Docker 볼륨·장치 매핑을 통한 호스트 파일 노출처럼 서로 다른 경계를 다룹니다. 하나의 CVE만 골라 설정을 바꾸는 방식보다 Langflow 버전, MCP 기능 활성화, 프로젝트 인증 방식, 사용자 권한, Docker 실행 권한을 함께 대조해야 합니다. 공식 게시판은 우회책을 제시하지 않으므로 유지보수 창을 확보해 수정판으로 올리는 것이 기본 대응입니다.

CVE-2026-8446 MCP Composer 인증 우회

CVE-2026-8446은 MCP Composer가 활성화된 기본 구성에서 프로젝트의 인증 방식이 OAuth일 때 인증되지 않은 원격 사용자가 보호 경계를 우회가 가능한 문제입니다. IBM은 정보 노출로 이어질 수 있다고 설명하며 CVSS 7.5로 평가했습니다. 운영자는 `mcp_composer_enabled` 설정과 공개 네트워크에서 Composer 엔드포인트에 도달할 수 있는지 확인해야 합니다. 리버스 프록시나 API 게이트웨이가 별도 인증을 제공하더라도 애플리케이션 내부의 인증 분기와 경로별 예외를 점검합니다. 업그레이드 전에는 외부 접근을 승인된 관리망으로 제한하고 관련 요청 로그를 보존합니다.

CVE-2026-9077 로컬호스트 경계 우회

CVE-2026-9077은 인증된 사용자가 로컬호스트 전용으로 의도된 제한을 우회해 임의 MCP 서버 구성을 IDE 설정으로 전달이 가능한 문제이며 CVSS 8.5입니다. 단순히 인터넷 비공개 서버라는 이유만으로 안전하다고 판단하기 어렵습니다. 계정을 가진 사용자가 MCP 서버 주소와 도구 구성을 어디까지 지정할 수 있는지, IDE나 에이전트가 해당 설정을 자동 신뢰하는지 확인해야 합니다. 프록시·서비스 메시·컨테이너 네트워크를 통해 localhost와 내부 서비스가 연결되는 구조도 포함합니다. 수정판 적용 뒤에는 외부 주소, 내부 주소, 루프백 주소 각각에 대한 구성 등록 결과를 시험합니다.

CVE-2026-17623 명령 필드 주입

CVE-2026-17623은 낮은 권한의 인증 사용자가 MCP 서버 명령 필드에 운영체제 명령을 주입이 가능한 문제로 CVSS 8.8입니다. 명령 문자열이 셸을 거쳐 실행되는 구조에서는 허용된 서버 바이너리와 인수의 경계가 무너지기 쉽습니다. Langflow 사용자 역할을 확인하고 MCP 서버 생성·편집 권한을 최소화하며, 기존 구성에 셸 연산자·명령 치환·예상 밖 실행 파일이 포함됐는지 검토합니다. 대응 과정에서 명령을 직접 실행해 재현하지 않고 구성 변경 이력, 감사 로그, 자식 프로세스와 네트워크 연결을 읽기 전용으로 확인합니다. 업그레이드 뒤 동일 권한으로 위험 문자열이 거부되는지 검증합니다.

CVE-2026-17625 고권한 명령 실행

CVE-2026-17625는 높은 권한의 인증 사용자가 운영체제 명령을 주입이 가능한 별도 경로이며 CVSS 7.2입니다. 관리자 권한이 필요하다는 조건은 위험이 사라졌다는 뜻이 아닙니다. 공유 관리자 계정, 과도한 서비스 계정, 외부 ID 공급자의 그룹 매핑 오류가 있으면 공격 표면이 넓어집니다. 관리자 활동 로그에서 MCP 구성 변경, 새 실행 파일, 비정상 작업 시간대를 확인하고, Langflow 프로세스 계정이 호스트에서 쓰기 권한이 부여된 디렉터리와 접근 가능한 비밀정보를 줄입니다. 수정판 적용과 함께 관리자 역할을 개인별 계정으로 분리하고 다중 인증과 승인 흐름을 점검합니다.

CVE-2026-17626 Docker 호스트 노출

CVE-2026-17626은 인증된 사용자가 Docker 기반 MCP 서버의 위험한 볼륨 또는 장치 매핑을 통해 호스트 파일을 읽기·수정·노출이 가능한 문제로 CVSS 8.8입니다. 컨테이너 자체의 파일시스템만 본다면 영향 범위를 과소평가할 수 있습니다. Langflow가 접근하는 Docker 소켓, 허용된 bind mount, device 매핑, 호스트 경로와 실행 사용자 권한을 확인합니다. `/var/run/docker.sock`, 비밀 저장 경로, 홈 디렉터리, 클라우드 자격증명 경로가 구성에 들어갔는지 살피고, 기존 MCP 서버 정의를 내보내 보존합니다. 업그레이드 뒤 위험 경로가 차단되는지 구성 저장 단계에서 확인합니다.

Langflow MCP Composer 인증부터 Docker 호스트 경계까지 5단계 점검

CVE-2026-17630 구성 검증 미비

CVE-2026-17630은 높은 권한의 인증 사용자가 불완전한 구성 검증을 악용해 임의 코드를 실행이 가능한 문제로 CVSS 7.2입니다. 같은 명령 실행 결과를 낳더라도 17625와 진입점과 검증 경계가 다르므로 한 규칙으로 묶어 처리하지 않습니다. 관리자가 생성이 허용된 컴포넌트와 MCP 설정, 가져오기 기능, 환경 변수 전달 범위를 각각 점검하고 수정판의 거부 동작을 확인합니다. 구성 파일이나 데이터베이스 레코드에서 실행 경로가 바뀐 흔적을 찾을 때에는 시간대와 변경 주체를 함께 기록합니다. 기능을 미사용 환경은 해당 기능을 비활성화하고 노출 경로를 닫습니다.

자산과 권한 대조

먼저 Langflow 인스턴스별 버전, 배포 방식, 외부 URL, 인증 제공자, MCP Composer 활성화 여부, Docker 연동 여부를 자산표에 기록합니다. 다음으로 사용자·관리자·서비스 계정이 MCP 서버를 생성·편집·실행할 수 있는지 역할별로 대조합니다. Kubernetes라면 Pod의 serviceAccount, hostPath, privileged, Docker 소켓 마운트를 확인하고, 단일 Docker 배포라면 compose 파일과 실행 인수를 검토합니다. 같은 데이터베이스를 개발·운영 인스턴스가 공유하면 구성 변경이 다른 환경으로 전파될 수 있으므로 분리 여부도 확인합니다. 우선순위는 외부 공개 Composer, 사용자가 많은 인스턴스, 호스트 자원에 접근 가능한 배포 순으로 정합니다.

업그레이드와 회귀 검증

공식 수정 버전 1.11.0 이상으로 올리기 전에 데이터베이스와 구성 파일을 백업하고, 현재 MCP 서버 정의와 사용자 역할을 내보냅니다. 새 이미지는 공급자가 게시한 태그와 다이제스트를 기준으로 가져오고 롤링 배포에서는 구형 파드가 남지 않도록 확인합니다. 적용 뒤 OAuth 프로젝트의 Composer 인증, 로컬호스트 제한, 명령 필드 검증, Docker 볼륨·장치 매핑, 고권한 구성 검증을 각각 시험합니다. 정상 MCP 서버 연결, IDE 연동, 작업 실행과 로그 수집도 함께 확인해 보안 차단과 기능 장애를 구분합니다. 오류가 생기면 취약 버전으로 즉시 복귀하기보다 외부 접근 제한을 유지한 채 공급자 지원 절차를 사용합니다.

로그와 장기 통제

감사 기록에서는 MCP Composer 요청, 서버 생성·편집, 사용자 역할 변경, Docker API 호출, 자식 프로세스와 외부 연결을 같은 시간대에 맞춥니다. 명령 주입과 구성 검증 취약점은 애플리케이션 로그만으로 부족할 수 있으므로 컨테이너 런타임과 호스트의 프로세스·파일 접근 기록을 함께 봅니다. 이후에는 MCP 서버 템플릿을 승인 목록으로 관리하고, 사용자 입력을 셸 문자열로 전달하지 않으며, Docker 소켓과 hostPath를 Langflow 프로세스에서 분리합니다. 관리자 권한은 개인별 계정과 승인 절차로 제한하고, 버전·설정·역할·런타임 권한의 변경 기록을 한곳에 보관해야 비슷한 경계 문제가 다시 생겼을 때 빠르게 비교할 수 있습니다.

배포 파이프라인과 구성 재유입 방지

업그레이드가 끝나도 오래된 컨테이너 태그, Helm 값, 개발용 compose 파일이나 재해복구 템플릿이 남으면 1.10.3 이하 인스턴스가 다시 시작될 수 있습니다. 이미지 태그 대신 다이제스트를 배포 기록에 남기고, CI 단계에서 Langflow 최소 버전과 MCP Composer 기본 설정을 검사합니다. Kubernetes 롤아웃은 모든 ReplicaSet과 Job 이미지를 확인하며, 자동 확장과 장애 복구를 한 차례 실행해 새 파드가 1.11.0 이상으로 생성되는지 검증합니다. 백업에서 데이터베이스를 복원할 때에는 과거 MCP 서버 정의와 위험한 Docker 매핑이 함께 돌아오지 않도록 복원 후 구성 검사를 필수 단계로 둡니다. 개발·검증·운영 환경이 같은 MCP 템플릿을 공유한다면 승인된 변경만 승격되도록 저장소 권한도 분리합니다.

  1. 모든 Langflow 인스턴스의 버전과 MCP Composer 활성화 여부를 기록합니다.
  2. 프로젝트 인증 방식과 MCP 서버 생성·편집 권한을 역할별로 확인합니다.
  3. 명령 필드와 Docker 볼륨·장치 매핑의 기존 구성을 보존해 검토합니다.
  4. 1.11.0 이상으로 업그레이드하고 여섯 경계의 거부 동작을 시험합니다.
  5. 감사 로그·컨테이너 런타임·호스트 기록을 같은 시간대에 대조합니다.

확인한 출처

  1. Multiple vulnerabilities in Langflow OSSIBM · 공식 자료
  2. Langflow 1.11.0 releaseLangflow · 공식 자료

사실관계와 수치는 연결된 자료에서 다시 확인할 수 있습니다.

독자 의견

의견을 남겨주세요

0

아직 등록된 댓글이 없습니다.

개인정보·광고·외부 연락처는 입력하지 마세요.