Executive brief
PraisonAI is an AI framework that includes a LinearBot for integrating with the Linear project management tool. A security issue exists where the bot fails to verify the authenticity of incoming webhooks if a specific secret key is not configured. This allows an attacker to send fake requests to the bot, potentially causing it to perform unauthorized actions, consume paid AI credits, or post fraudulent comments on Linear tasks.
Technical details
A fail-open vulnerability exists in PraisonAI's LinearBot component within `src/praisonai/praisonai/bots/linear.py`. When the `LINEAR_WEBHOOK_SECRET` environment variable is not set, the application logs a warning but continues to expose a public webhook listener on `0.0.0.0`. In this state, the `_handle_webhook()` function skips HMAC-SHA256 signature verification for the `Linear-Signature` header. An unauthenticated remote attacker can send forged `AgentSession` events to the webhook endpoint, which are then processed by the bot. This results in unauthorized invocation of the configured AI agent and the ability to post comments to Linear issues under the bot's identity. The issue is fixed in version 4.6.59.
Affected products
- MervinPraison praisonai >= 4.6.56, <= 4.6.58
Timeline
- 2026-06-17: disclosed
- 2026-06-18: advisory
- 2026-06-18: patched: Fixed in version 4.6.59