SK쉴더스 로고
ADT캡스캡스홈
SK쉴더스

LangChain 패키지의 결함을 악용한 RCE 취약점(CVE-2023-38860 / CVE-2023-39659 / CVE-2023-39631)

2023.10.15
LangChain 패키지의 결함을 악용한 RCE 취약점(CVE-2023-38860 / CVE-2023-39659 / CVE-2023-39631)
취약점 개요

‍

OpenAI의 GPT-4와 같은 거대 언어 모델(LLM)의 등장과 성공으로 인해 AI분야는 비약적으로 발전하고 있다. 이와 함께 LangChain과 같은 언어 모델 기반 애플리케이션 프레임워크들도 AI 서비스 개발에 도움을 주며 개발자들의 관심을 끌고 있다.

​

그러나, AI서비스 개발에 사용되는 Python 모듈인 LangChain의 ①PAL&CPALChain, ②PythonREPL, ③LLMMathChain에서 원격 실행 취약점이 발견됐다. 이들 취약점은 악의적인 사용자들이 시스템을 공격하거나 데이터를 유출할 수 있는 위험성을 내포하고 있어 주의가 필요하다.

​

①PAL&CPALChain, ②PythonREPL의 취약점은 exec[1]에 대한 입력을 검증없이 전달하여 발생한다. Chain에서 악의적인 출력을 생성할 수 있어 개발자가 의도하지 않은 동작을 유발할 수 있다. ①PAL&CPALChain의 경우 LangChain_experimental 패키지로 이동되어 취약점이 어느정도 완화되었지만, ②PythonREPL의 경우 현재 시점(2023-10-05)까지 패치가 진행되지 않아 주의해야 한다. ③LLMMathChain은 데이터 처리 과정에서 취약한 버전의 NumExpr을 사용하여 원격 코드 실행이 가능한 취약점이 있다. 하지만 LangChain(v0.0.307) 이상 버전을 설치하면 업데이트 된 NumExpr을 사용하도록 강제하므로, 취약한 버전의 NumExpr이 LangChain 보다 먼저 설치되어 있는 경우에도 안전하다.

[1] exec: 문자열을 입력으로 받아 실행시키는 함수

​

특히, 최근 기업들은 언어 모델을 활용한 AI상담사나 챗봇과 같은 서비스를 개발하고 배포하는데 있어 LangChain을 많이 사용하고 있다. 그러나 LangChain에는 이번에 살펴볼 취약점과 같이 최신 버전까지 영향을 미치는 취약점이 존재하기 때문에, 사용 시 세밀한 검토 및 주기적인 패치가 필요하다.

‍

영향받는 소프트웨어 버전

CVE-2023-38860, CVE-2023-39659, CVE-2023-39631에 취약한 소프트웨어는 각각 다음과 같다.

‍

* 현재 시점(2023-10-05) 최신 버전인 LangChain v0.0.308버전 기준으로 여전히 취약함. (후략)

​

더 자세한 내용은 리포트 다운로드를 통해 확인하세요! (클릭)

​

관련 채널

글로벌 보안 인사이트와 실무 분석을 한눈에

보안 트렌드 & 인사이트에서 확인하세요.

보안 트렌드 & 인사이트에서 확인하세요.
보안 트렌드와 대응방법

매월 뉴스레터로 확인하세요.

매월 뉴스레터로 확인하세요.