🔍 CVE-2026-40159

5.5
CVSS Score
MEDIUM
2026-04-10
2026-10-26 22:10
✅ 완료

🇰🇷 한글 설명

PraisonAI의 MCP 통합에서 사용자 제공 명령어를 실행할 때 부모 프로세스의 모든 환경 변수(API 키, 토큰, 데이터베이스 자격증명 등)가 자식 프로세스로 전달되는 보안 취약점입니다. npx -y 같은 패키지 러너를 통한 제3자 코드 실행 시 환경 변수에 포함된 민감 정보가 노출되고 공급망 공격에 악용될 수 있습니다. 4.5.128에서 수정되었습니다.

💡 쉬운 설명

PraisonAI에서 외부 프로그램을 실행할 때 API 키나 비밀번호 같은 민감한 정보가 자동으로 함께 전달됩니다. 악의적인 외부 패키지가 이 정보를 훔칠 수 있습니다.

🇺🇸 원문 (English)

PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI’s MCP (Model Context Protocol) integration allows spawning background servers via stdio using user-supplied command strings (e.g., MCP("npx -y @smithery/cli ...")). These commands are executed through Python’s subprocess module. By default, the implementation forwards the entire parent process environment to the spawned subprocess. As a result, any MCP command executed in this manner inherits all environment variables from the host process, including sensitive data such as API keys, authentication tokens, and database credentials. This behavior introduces a security risk when untrusted or third-party commands are used. In common scenarios where MCP tools are invoked via package runners such as npx -y, arbitrary code from external or potentially compromised packages may execute with access to these inherited environment variables. This creates a risk of unintended credential exposure and enables potential supply chain attacks through silent exfiltration of secrets. This vulnerability is fixed in 4.5.128.

📍 영향받는 시스템

PraisonAI 4.5.127 이하 버전

⚔️ 공격 벡터

User supplies untrusted MCP commands (e.g., 'npx -y @smithery/cli ...') which executes external code with inherited environment variables containing secrets

🛡️ 대응 방법

PraisonAI를 4.5.128 이상으로 업그레이드 또는 MCP 명령어 실행 시 환경 변수 필터링 정책 적용

🔧 검증 코드

4.5.128 이상이면 취약점 해결, 4.5.127 이하면 즉시 업그레이드 필요

Shell / Script
pip show praisonai | grep Version | awk '{print $2}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

💻 영향받는 소프트웨어

Python