🇰🇷 한글 설명
LangSmith SDK의 분산 추적 기능이 악의적인 HTTP 헤더를 통한 서버 측 요청 위조(SSRF) 공격에 취약합니다. 공격자는 baggage 헤더를 통해 임의의 api_url 값을 주입하여 민감한 추적 데이터를 공격자 제어 엔드포인트로 유출할 수 있습니다. Python SDK 0.6.3 이상 및 JavaScript SDK 0.4.6 이상에서 수정되었습니다.
💡 쉬운 설명
LangSmith 개발자 도구의 특정 버전에서 악의적인 요청으로 시스템을 공격자의 서버로 연결하도록 속일 수 있습니다. 이를 통해 민감한 개발 추적 데이터가 공격자에게 유출될 수 있습니다.
🇺🇸 원문 (English)
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. The LangSmith SDK's distributed tracing feature is vulnerable to Server-Side Request Forgery via malicious HTTP headers. An attacker can inject arbitrary api_url values through the baggage header, causing the SDK to exfiltrate sensitive trace data to attacker-controlled endpoints. When using distributed tracing, the SDK parses incoming HTTP headers via RunTree.from_headers() in Python or RunTree.fromHeaders() in Typescript. The baggage header can contain replica configurations including api_url and api_key fields. Prior to the fix, these attacker-controlled values were accepted without validation. When a traced operation completes, the SDK's post() and patch() methods send run data to all configured replica URLs, including any injected by an attacker. This vulnerability is fixed in version 0.6.3 of the Python SDK and 0.4.6 of the JavaScript SDK.
📍 영향받는 시스템
LangSmith Python SDK < 0.6.3, JavaScript SDK < 0.4.6
⚔️ 공격 벡터
Baggage HTTP 헤더에 악의적인 api_url 값을 주입하여 추적 데이터를 공격자 엔드포인트로 리다이렉트
🛡️ 대응 방법
Python SDK를 0.6.3 이상, JavaScript SDK를 0.4.6 이상으로 업그레이드
🔧 검증 코드
Version이 0.6.3 이상(Python) 또는 0.4.6 이상(JavaScript)이면 패치됨. 그 이하면 즉시 업그레이드 필요
pip show langsmith 2>/dev/null | grep Version || npm list langsmith 2>/dev/null | grep langsmith