PraisonAI LinearBot обрабатывает неподписанные вебхуки при отсутствии LINEAR_WEBHOOK_SECRET — CVE-2026-56837
В PraisonAI (версии с 4.6.56 до 4.6.59) компонент LinearBot запускает публичный вебхук-листенер на 0.0.0.0 и считает секрет LINEAR_WEBHOOK_SECRET необязательным. Если секрет не задан, проверка подписи Linear-Signature полностью пропускается, что позволяет неаутентифицированному злоумышленнику отправлять поддельные события. Критичность высокая — CVSS 8.6.
Подробности
Уязвимость присутствует в MervinPraison PraisonAI начиная с версии 4.6.56 и до версии 4.6.59 (исключая её). LinearBot поднимает публичный вебхук-листенер на адресе 0.0.0.0, то есть доступный по всем сетевым интерфейсам, и при этом рассматривает переменную окружения LINEAR_WEBHOOK_SECRET как опциональную. Если секрет не задан, при старте выводится лишь предупреждение в лог, а функция _handle_webhook() полностью пропускает проверку заголовка Linear-Signature. В результате любой неаутентифицированный вызывающий, способный достучаться до вебхук-эндпоинта, может отправить поддельный запрос с заголовком Linear-Event: AgentSession. Такой запрос будет разобран, поставлен в очередь на фоновую обработку, передан в _handle_agent_session() и далее в BotSessionManager.chat(). После этого бот попытается опубликовать ответ агента обратно в Linear от имени настроенного токена бота. Proof-of-Value, приведённый в описании, является офлайн- и детерминированным: он не обращается к Linear, вызывает обработчик вебхука напрямую, подменяет исходящий путь публикации комментария и демонстрирует обе стороны границы — приём поддельного события и последующую отправку ответа. Уязвимости присвоен идентификатор CVE-2026-56837 и оценка CVSS 8.6 (HIGH). Проблема классифицируется как отсутствие аутентификации входящих запросов (пропуск проверки подписи), что в данном случае ведёт к возможности несанкционированного запуска обработки агентских сессий и публикации контента от имени бота.Что делать
Разработчики устранили проблему в версии 4.6.59. Основная рекомендация — обновить PraisonAI до 4.6.59 или более поздней версии. Если обновление невозможно в кратчайшие сроки, следует применить компенсирующие меры. В первую очередь необходимо обязательно задать переменную окружения LINEAR_WEBHOOK_SECRET, чтобы включить проверку подписи Linear-Signature. Кроме того, не стоит оставлять вебхук-эндпоинт открытым на 0.0.0.0: его следует изолировать с помощью сетевых ограничений, файрвола или обратного прокси, разрешив доступ только из доверенных источников — например, из диапазонов IP-адресов Linear. Дополнительно рекомендуется проверить журналы на предмет подозрительных входящих запросов к вебхук-эндпоинту и убедиться, что токен бота не использовался для нежелательных публикаций.Итог
CVE-2026-56837 — серьёзная уязвимость в PraisonAI, возникающая из-за необязательности секрета вебхука и отсутствия проверки подписи. Эксплуатация не требует аутентификации и позволяет внешнему злоумышленнику инициировать обработку поддельных событий и публикацию ответов от имени бота. Единственное надёжное решение — обновление до версии 4.6.59; до его установки обязательно задайте LINEAR_WEBHOOK_SECRET и ограничьте сетевой доступ к вебхук-эндпоинту.Источник: CVE Project (cvelistV5)
