Skip to main content

PraisonAI CVE-2026-56835

| EUVDEUVD-2026-108876 HIGH
Missing Authorization (CWE-862)
2026-10-23 GitHub_M GHSA-qvpf-j64c-jmhr PYSEC-2026-3518
8.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Access Slack workspace where bot is present
  2. Delivery
    Mention bot triggering app_mention event
  3. Exploit
    Bypass allowed_users/allowed_channels/unknown-user checks
  4. Execution
    Submit arbitrary prompt to PraisonAI agent
  5. Impact
    Agent tools act on confidentiality/integrity

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three concrete conditions: (1) the PraisonAI deployment subscribes to Slack's app_mention event (a distinct event type from message.*), (2) the attacker is a Slack workspace user who can mention the bot in a channel where the Slack app is installed, and (3) the bot is configured with restrictive controls - allowed_users, allowed_channels, or unknown_user_policy="deny" - that the attacker would otherwise fail; without such controls there is nothing to bypass. The bug is in src/praisonai/praisonai/bots/slack.py: the app_mention handler never calls is_channel_allowed(), is_user_allowed(), or UnknownUserHandler.handle(), whereas the message handler does. Limiting factors that reduce realistic risk: the attacker must already hold Slack workspace membership and the ability to mention the bot, the app must be present in the target channel, app_mention must be subscribed, and the ultimate confidentiality/integrity impact is bounded by which agent and tools the operator has deployed and auto-approved.

Impact

CVSS base score is 8.3 (High) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L, reflecting a network-reachable, low-complexity authorization bypass (CWE-862/CWE-863) requiring only low privilege. The PR:L maps to a real prerequisite: the attacker must be a Slack workspace user able to mention the bot, so this is authenticated at the Slack-workspace level, not anonymous internet exploitation. No EPSS score and no CISA KEV entry are present in the input, so there is no quantitative exploitation-probability signal and no evidence of active exploitation; the only forward-looking signal is the vuln.today Decision label 'this_week', which indicates a prompt-but-not-emergency priority consistent with a patched flaw that is not yet known-exploited. A local-only proof-of-vulnerability is published in the GHSA advisory (it mocks Slack in-process and does not connect to Slack or require tokens), demonstrating the bypass against v4.6.58, so a public PoC reference exists but it is not a weaponized remote exploit. The C:H/I:H rating is conditional: the advisory states the downstream impact depends on the deployed agent and its tools, and is high only because PraisonAI's default bot config auto-approves 'safe' tools (web, memory, scheduling, file, planning, skill). Net assessment: a genuine, patchable priority for anyone running the PraisonAI Slack bot with app_mention subscribed and allowlist/pairing controls configured, but lower real-world urgency than the raw 8.3 suggests because there is no KEV/EPSS evidence of widespread exploitation and the worst-case impact is deployment-dependent.

Exploit ScenarioDerived

A Slack workspace member who is not in BotConfig.allowed_users mentions the PraisonAI bot in a channel where the app is present but which is not in allowed_channels. The app_mention event handler strips the mention and directly invokes the agent session without running the channel check, user allowlist check, or UnknownUserHandler policy that the normal message handler enforces, so the attacker's arbitrary prompt reaches the configured agent and its auto-approved tools. A local-only PoV in the GHSA advisory reproduces this against v4.6.58, showing the same payload dropped by the message handler but accepted via app_mention.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Slack app_mention events in the PraisonAI bot (PyPI package praisonai, versions 3.11.0 through 4.6.58) skip the allowed_users, allowed_channels and unknown_user_policy checks that the normal message handler enforces, so any Slack workspace member who can mention the bot in a channel where the app is installed can drive the configured agent even when the identical event content is dropped by the message path. The root cause is missing authorization (CWE-862, also tracked as CWE-863) in src/praisonai/praisonai/bots/slack.py, and the assessed CVSS 3.1 vector is AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L (8.3, High) - network reachable, low complexity, and authenticated, since the attacker must already hold Slack workspace membership and be able to mention the bot. A public PoC reference exists in the form of a local-only harness that mocks Slack Bolt and the Slack SDK in-process and does not connect to Slack; it is not verified as working exploit code against a live deployment, and there is no confirmed active exploitation (no CISA KEV listing). Remediation is prioritized as this week rather than an emergency.

RemediationAI

Upgrade the praisonai package to 4.6.59 or later, the first release containing the vendor fix per advisory GHSA-qvpf-j64c-jmhr (https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-qvpf-j64c-jmhr); the fix direction is a single shared authorization preflight applied to every Slack ingress path, so app_mention events are converted through _convert_event_to_message(), tagged with _channel_type="slack", and run through is_channel_allowed(), is_user_allowed() and UnknownUserHandler.handle() before the bot mention is stripped and _session.chat() is invoked. Where an immediate upgrade is not possible, the directly effective compensating control is to unsubscribe the Slack app from the app_mention event (and remove the app_mention-related scope) so that only the guarded message handler remains active - with the trade-off that the bot will no longer respond when users @-mention it, and users must interact through the message path or DMs. A second option is to remove the PraisonAI Slack app from channels where untrusted workspace members can post, or restrict channel membership, which reduces exposure but requires ongoing channel hygiene and does not fix the handler gap for channels where the app must remain. Operators should also review which tools the bot auto-approves, since the reachable impact under bypass is bounded by the agent and tool set actually deployed, and should audit Slack logs for app_mention events originating from users or channels that are not present in the configured allowlists.

Affected VersionsENISA

PraisonAI 3.11.0, < 4.6.59

Affected Packages

pypi praisonai fix: 4.6.59

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PraisonAI is a multi-agent framework whose Slack integration is built on Slack Bolt, where message and app_mention are separate event types rather than app_mention being a sub-type of message.*. The guarded message handler in src/praisonai/praisonai/bots/slack.py converts the incoming event into a BotMessage, tags it with _channel_type = "slack", fires the message_received hook, then evaluates is_channel_allowed(), is_user_allowed() and UnknownUserHandler.handle() before it calls the session manager and the agent. The adjacent app_mention handler performs none of this: after discarding events carrying a bot_id, it strips the bot mention from the text and invokes the agent session directly (in older affected releases via self._agent.chat(text), in newer ones via self._session.chat(...)), passing through sender, channel, text, timestamp and thread metadata without any policy evaluation. The configuration component involved is src/praisonai-agents/praisonaiagents/bots/config.py, which supplies BotConfig.allowed_users, BotConfig.allowed_channels and unknown_user_policy. Because Slack delivers app_mention independently of message.*, a deployment subscribed to app mentions cannot rely on the message handler to apply the same sender and channel policy - this is a sibling-handler guard-coverage gap of the missing-authorization class. Version 3.10.24 is unaffected simply because it does not contain slack.py, which bounds the introduction of the component at 3.11.0. The advisory does not claim compromise of Slack itself, bypass of Slack request signature verification, or arbitrary code execution by default; the reachable impact is unauthorized prompt submission to whatever agent and tools the operator has deployed, and PraisonAI's default bot configuration auto-approves safe tools including web, memory, scheduling, file, planning and skill tools, so confidentiality and integrity exposure is real but operator-dependent.

Know when Praisonai gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.3 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
vuln.today AI 8.3 HIGH

Attacker must be a Slack workspace user able to mention the bot, so PR:L; network-reachable via Slack with no victim interaction gives AV:N/AC:L/UI:N; high C/I/A:L follow the default agent tools.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

DescriptionCVE.org

PraisonAI is a multi-agent teams system. From version 3.11.0 to before version 4.6.59, PraisonAI's Slack bot applies its configured allowed_users, allowed_channels, and unknown-user pairing policy in the normal Slack message event handler, but not in the adjacent Slack app_mention event handler. A Slack workspace user who can mention the bot in a channel where the Slack app is present can trigger the configured PraisonAI agent even when: the sender is not in BotConfig.allowed_users; the channel is not in BotConfig.allowed_channels; unknown_user_policy="deny" is configured; and the same event content is correctly dropped by the normal message handler. This issue has been patched in version 4.6.59.

Technical POC Analysis

Missing authorization (CWE-862; the advisory also files it as CWE-863) in the Slack ingress layer of the praisonai package, file src/praisonai/praisonai/bots/slack.py.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity authorization bypass in the PraisonAI Slack bot (versions 3.11.0 through 4.6.58) allows any Slack workspace member to bypass configured user and channel restrictions via app_mention events. This enables unauthorized users to drive the bot's underlying AI agent, potentially exposing sensitive data or triggering unintended actions within the workspace. Leadership should prioritize remediation because the flaw undermines access controls and could lead to data leakage or operational disruption.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche open-source multi-agent AI framework; Slack-bot deployments rarer still
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-61447 CRITICAL POC
10.0 Jul 11

Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-61439 HIGH POC
8.7 Jul 11

System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-61429 HIGH POC
8.4 Jul 11

Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy