Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-24055-OAuth-Langfuse — Образовательная демонстрация эксплуатации CVE-2026-24055, направленная на неаутентифицированную установку Slack OAuth в Langfuse, с уязвимыми и исправленными средами Docker для практического тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/imzanggg/cve-2026-24055-oauth-langfuse
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование безопасности APIОбучение и ОбразованиеЛаборатории и Практика
GitHubimzanggg/cve-2026-24055-oauth-langfuse

CVE-2026-24055-OAuth-Langfuse

Образовательная демонстрация эксплуатации CVE-2026-24055, направленная на неаутентифицированную установку Slack OAuth в Langfuse, с уязвимыми и исправленными средами Docker для практического тестирования безопасности.

Репозиторий
232 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-24055 — Неаутентифицированная установка Slack OAuth в Langfuse

Курсовая работа по безопасности веб-приложений — Группа 06, класс NT213.Q21.ANTT

📌 Краткое описание

Проект воспроизводит реальную опубликованную уязвимость (CVE-2026-24055) на платформе Langfuse — OAuth-эндпоинт, позволяющий злоумышленнику захватить подключение Slack workspace к чужому проекту без необходимости входа в систему.

Проект включает: развёртывание Docker-окружения, имитирующего как уязвимую версию, так и исправленную, пошаговую эксплуатацию и проверку корректной работы патча. Тем самым отрабатывается анализ уязвимости контроля доступа в потоке OAuth — навык, напрямую применимый при разработке или аудите систем веб-аутентификации.

Демонстрируемые навыки: анализ потока OAuth2, Docker, чтение security advisory, написание технического отчёта, тестирование безопасности (security testing).


Содержание

  • Описание уязвимости
  • Системные требования
  • Подготовка перед запуском
  • Демонстрация эксплуатации — Vulnerable v3.146.0
  • Проверка патча — Patched v3.147.0
  • Остановка окружения
  • Справочные материалы

Описание уязвимости

CVE-2026-24055 — уязвимость Improper Access Control в Langfuse с версии 3.89.0 по 3.146.0.

Эндпоинт /api/public/slack/install не требует аутентификации, что позволяет атакующему привязать свой Slack workspace к любому проекту, зная лишь projectId. Когда жертва создаёт автоматизацию для отправки уведомлений в Slack, всё содержимое промпта утекает в workspace атакующего.

СвойствоДетали
CWECWE-284 — Improper Access Control
Уязвимые версииLangfuse 3.89.0 – 3.146.0
Исправленная версияLangfuse 3.147.0
GitHub AdvisoryGHSA-pvq7-vvfj-p98x
NVDCVE-2026-24055

Схема атаки

Sequence Diagram


Системные требования

ИнструментМинимальная версия
Docker Desktop24.0+
Docker Composev2
Gitлюбая
RAM8 GB

Подготовка перед запуском

Создание Slack App

Slack API позволяет использовать http://localhost:3000 в качестве Redirect URL.

  1. Перейдите на https://api.slack.com/apps → Create New App → From scratch
  2. Задайте имя приложения, выберите workspace
  3. Перейдите в OAuth & Permissions → Redirect URLs → добавьте:
    http://localhost:3000
    
  4. Сохраните Client ID и Client Secret

Демонстрация эксплуатации — Vulnerable v3.146

Шаг 1 — Настройка окружения

cd vulnerable
cp .env.example .env

Откройте файл .env, заполните следующие значения:

NEXTAUTH_URL=http://localhost:3000
SLACK_CLIENT_ID=<your-slack-client-id>
SLACK_CLIENT_SECRET=<your-slack-client-secret>
SLACK_STATE_SECRET=any-random-string

Шаг 2 — Запуск Langfuse v3.146.0

docker compose up -d

Проверьте готовность контейнеров:

docker compose ps

Подождите примерно 30–60 секунд. Все контейнеры должны находиться в состоянии Up (healthy).

Шаг 3 — Создание аккаунтов

Перейдите на http://localhost:3000:

  1. Аккаунт жертвы

    • Зарегистрируйте аккаунт, создайте Organization → создайте Project
    • Перейдите в Settings → запишите Project ID
  2. Аккаунт атакующего

    • Откройте приватное окно, зарегистрируйте другой аккаунт (или не входите в систему)

Шаг 4 — Выполнение эксплуатации

В браузере атакующего (без входа в Langfuse) перейдите по адресу:

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

Происходит следующее:

  • Сервер не проверяет аутентификацию, сразу перенаправляет на Slack OAuth
  • Войдите в Slack workspace атакующего → нажмите Allow
  • Workspace атакующего привязан к проекту жертвы

Шаг 5 — Подтверждение утечки данных

Войдите под аккаунтом жертвы:

  1. Перейдите в Settings → Integrations → проверьте, что Slack подключён (workspace атакующего)
  2. Создайте Automation: Prompts → Automations → New
    • Trigger: Prompt created / updated / deleted
    • Action: Slack → выберите канал
  3. Жертва создаёт новый промпт
  4. Slack атакующего получает уведомление с метаданными промпта (имя, версия, labels, tags)

Проверка патча — Patched v3.147

Шаг 1 — Остановка старого окружения

cd ../vulnerable
docker compose down

Шаг 2 — Запуск Langfuse v3.147.0

cd ../patched
cp .env.example .env
# Заполните значения так же, как в разделе vulnerable
docker compose up -d

Шаг 3 — Повторная эксплуатация

Попытка без входа в систему:

http://localhost:3000/api/public/slack/install?projectId=<any-project-id>

Ожидаемый результат — HTTP 401:

{ "error": "Authentication required" }

Попытка входа под атакующим с projectId жертвы:

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

Ожидаемый результат — HTTP 403:

{ "error": "You do not have permission to configure Slack for this project" }

Уязвимость полностью устранена.


Остановка окружения

docker compose down

Если нужно удалить все данные (volumes):

docker compose down -v

Структура каталогов

cve-2026-24055/
├── README.md                  ← этот файл
├── vulnerable/
│   ├── docker-compose.yml     ← Langfuse v3.146.0 (уязвимая)
│   └── .env.example
└── patched/
    ├── docker-compose.yml     ← Langfuse v3.147.0 (исправленная)
    └── .env.example

Справочные материалы

  • GitHub Security Advisory — GHSA-pvq7-vvfj-p98x
  • NVD — CVE-2026-24055
  • Commit fix — 3adc89e
Скачать инструмент