/

CVE-2026-56837

Severity:

HIGH RISK

(8.6)

Missing Webhook Authentication (CWE-306) in PraisonAI

CVE-2026-56837

Deferred

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-287, CWE-306, CWE-347

Impact:

Unauthorized Bot Actions and Data Integrity Impact

Severity:

HIGH RISK

(8.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

PraisonAI's LinearBot may expose a webhook listener without requiring a configured secret, allowing unauthenticated callers to submit forged Linear events. Under this condition, a forged agent-session event can trigger bot processing and cause actions to be performed using the configured Linear bot identity.

PraisonAI's LinearBot may expose a webhook listener without requiring a configured secret, allowing unauthenticated callers to submit forged Linear events. Under this condition, a forged agent-session event can trigger bot processing and cause actions to be performed using the configured Linear bot identity.

Affected context

The issue affects PraisonAI deployments using LinearBot where:

  • The webhook listener is reachable over the network
  • LINEAR_WEBHOOK_SECRET is absent or not configured
  • Startup continues despite the missing secret
  • Webhook handling proceeds without validating a Linear signature

In this configuration, externally supplied event data may reach agent-session processing and the configured outbound Linear integration.

The issue affects PraisonAI deployments using LinearBot where:

  • The webhook listener is reachable over the network
  • LINEAR_WEBHOOK_SECRET is absent or not configured
  • Startup continues despite the missing secret
  • Webhook handling proceeds without validating a Linear signature

In this configuration, externally supplied event data may reach agent-session processing and the configured outbound Linear integration.

Exploit preconditions

  • Attack surface: Network-reachable Linear webhook endpoint
  • Required access: No authentication, provided the endpoint can be reached
  • Trigger point: Receipt and processing of a Linear-Event: AgentSession webhook request
  • Why exploitation is possible: Missing secret configuration is treated as a warning rather than a startup failure, and signature verification is skipped when the secret is unavailable
  • Attack surface: Network-reachable Linear webhook endpoint
  • Required access: No authentication, provided the endpoint can be reached
  • Trigger point: Receipt and processing of a Linear-Event: AgentSession webhook request
  • Why exploitation is possible: Missing secret configuration is treated as a warning rather than a startup failure, and signature verification is skipped when the secret is unavailable

Why this happens

The underlying flaw is an authentication failure caused by treating a required webhook credential as optional. When the secret is absent, the handler accepts event data without verifying its authenticity, allowing an unauthenticated caller to impersonate the trusted Linear service.

This maps primarily to CWE-306: Missing Authentication for Critical Function, with related aspects of CWE-287: Improper Authentication and CWE-347: Improper Verification of Cryptographic Signature. The insecure pattern is a fail-open security check in which a missing verification key disables request authentication.

The underlying flaw is an authentication failure caused by treating a required webhook credential as optional. When the secret is absent, the handler accepts event data without verifying its authenticity, allowing an unauthenticated caller to impersonate the trusted Linear service.

This maps primarily to CWE-306: Missing Authentication for Critical Function, with related aspects of CWE-287: Improper Authentication and CWE-347: Improper Verification of Cryptographic Signature. The insecure pattern is a fail-open security check in which a missing verification key disables request authentication.

Potential impact

  • An attacker may trigger unauthorized agent-session processing
  • The bot could perform actions or post responses under its configured Linear identity
  • Workflows and project data may be manipulated or polluted
  • Automated agent resources could be consumed by forged requests
  • Downstream systems may trust attacker-controlled event results
  • An attacker may trigger unauthorized agent-session processing
  • The bot could perform actions or post responses under its configured Linear identity
  • Workflows and project data may be manipulated or polluted
  • Automated agent resources could be consumed by forged requests
  • Downstream systems may trust attacker-controlled event results

General mitigation guidance

Mitigation generally focuses on making webhook authentication mandatory and fail-closed.

Common defensive patterns include:

  • Require a valid webhook secret before starting the listener
  • Reject requests when the secret is missing, malformed, or invalid
  • Verify signatures over the exact received request body before parsing or scheduling work
  • Keep externally reachable webhook endpoints behind suitable network and access controls
  • Apply replay protection, request-size limits, and event schema validation
  • Use narrowly scoped bot credentials and least-privilege permissions
  • Separate webhook receipt from privileged downstream actions through authorization checks and controlled queues

Mitigation generally focuses on making webhook authentication mandatory and fail-closed.

Common defensive patterns include:

  • Require a valid webhook secret before starting the listener
  • Reject requests when the secret is missing, malformed, or invalid
  • Verify signatures over the exact received request body before parsing or scheduling work
  • Keep externally reachable webhook endpoints behind suitable network and access controls
  • Apply replay protection, request-size limits, and event schema validation
  • Use narrowly scoped bot credentials and least-privilege permissions
  • Separate webhook receipt from privileged downstream actions through authorization checks and controlled queues

How teams detect issues like this

Detection approaches may include:

  • Static analysis for optional-secret branches that bypass signature verification
  • Code review checks for webhook handlers that continue after missing-credential warnings
  • Tests confirming that absent, invalid, and mismatched signatures are rejected
  • Runtime monitoring for unsigned webhook requests and unusual agent-session activity
  • Policy enforcement requiring authentication gates before background job scheduling or privileged API calls
  • Automated security review tools that identify fail-open authentication logic

Detection approaches may include:

  • Static analysis for optional-secret branches that bypass signature verification
  • Code review checks for webhook handlers that continue after missing-credential warnings
  • Tests confirming that absent, invalid, and mismatched signatures are rejected
  • Runtime monitoring for unsigned webhook requests and unusual agent-session activity
  • Policy enforcement requiring authentication gates before background job scheduling or privileged API calls
  • Automated security review tools that identify fail-open authentication logic

Sources

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

Frequently asked

questions

Yes, when the LinearBot webhook endpoint is network-reachable and webhook authentication has been disabled by the absence of LINEAR_WEBHOOK_SECRET.

No application account or Linear credential is necessarily required to submit the forged webhook. The attacker does need network reachability to the listener.

Make the webhook secret mandatory, fail startup when it is unavailable, and reject every request whose signature cannot be validated before any event processing occurs.

Treat security credentials as required configuration, test fail-closed behavior for missing and invalid secrets, limit bot-token privileges, and monitor for unsigned or anomalous webhook traffic.

Yes, when the LinearBot webhook endpoint is network-reachable and webhook authentication has been disabled by the absence of LINEAR_WEBHOOK_SECRET.

No application account or Linear credential is necessarily required to submit the forged webhook. The attacker does need network reachability to the listener.

Make the webhook secret mandatory, fail startup when it is unavailable, and reject every request whose signature cannot be validated before any event processing occurs.

Treat security credentials as required configuration, test fail-closed behavior for missing and invalid secrets, limit bot-token privileges, and monitor for unsigned or anomalous webhook traffic.

Find out what's already
exploitable in your codebase.