Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. praisonai
  4. ›
  5. GHSA-fc26-m9pf-v56q

GHSA-fc26-m9pf-v56q: PraisonAI LinearBot processes unsigned webhooks when LINEAR_WEBHOOK_SECRET is missing

June 18, 2026

PraisonAI’s LinearBot starts a public webhook listener on 0.0.0.0 and treats LINEAR_WEBHOOK_SECRET as optional. When the secret is absent, startup only logs a warning and _handle_webhook() skips Linear-Signature verification entirely.

An unauthenticated network caller who can reach the webhook endpoint can submit a forged Linear-Event: AgentSession request. The forged request is parsed, scheduled for background processing, dispatched to _handle_agent_session(), and passed into BotSessionManager.chat(). The bot then attempts to post the agent response back to Linear under the configured bot token.

The local PoV is offline and deterministic. It does not contact Linear. It calls the webhook handler directly, monkey-patches the outbound Linear comment path, and proves both sides of the boundary:

  • no secret configured: unsigned forged webhook returns 200, invokes the agent session path once, and attempts one Linear comment;
  • secret configured: missing and bad signatures both return 401 and do not invoke the agent;
  • secret configured with valid HMAC: request returns 200 and invokes the agent, proving the control path still works.

References

  • github.com/MervinPraison/PraisonAI/security/advisories/GHSA-fc26-m9pf-v56q
  • github.com/advisories/GHSA-fc26-m9pf-v56q

Code Behaviors & Features

Detect and mitigate GHSA-fc26-m9pf-v56q with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 4.6.56 before 4.6.59

Fixed versions

  • 4.6.59

Solution

Upgrade to version 4.6.59 or above.

Impact 8.6 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L

Learn more about CVSS

Weakness

  • CWE-287: Improper Authentication
  • CWE-306: Missing Authentication for Critical Function
  • CWE-347: Improper Verification of Cryptographic Signature

Source file

pypi/praisonai/GHSA-fc26-m9pf-v56q.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 23 Jun 2026 12:23:17 +0000.