{"id":"CVE-2026-56832","kind":"vulnerability","aliases":["CVE-2026-56832"],"related":[],"title":"PraisonAI: any Discord channel user can approve dangerous agent tool calls","description":"PraisonAI is a multi-agent teams system. From version 4.5.2 to before version 4.6.59, praisonai.bots.DiscordApproval approves a pending dangerous tool call when it sees any later non-bot message in the configured Discord channel whose text is classified as approval, such as yes. As a result, any user who can post in the configured approval channel can approve a pending high-risk tool call by sending yes after the approval message appears. the same PoV also shows that the Slack and Telegram messaging approval backends have no explicit approver allowlist parameter, but the primary report-grade issue is the Discord backend's unthreaded channel cross-talk: the approving message does not need to be a reply or otherwise request-bound. This issue has been patched in version 4.6.59.","summary":"PraisonAI's Discord approval backend approves a pending high-risk tool call when any non-bot user in the approval channel posts an approval word such as yes. An attacker who can post in that channel can authorize actions the operator meant to gate.","severity":"high","cvss":8.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-agents","ai-tooling","discord","praisonai","python"],"not_affected_if":["default-config","no-discord-approval"],"how_to_check":"Check whether the PraisonAI version is between 4.5.2 and 4.6.58 (pip show praisonai) and whether the Discord approval backend (praisonai.bots.DiscordApproval) is in use.","fix":"Upgrade praisonai to 4.6.59 or later.\nRestrict the approval channel to trusted approvers until upgraded.","status":"open","published_at":"2026-10-23T12:18:14+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","triaged_at":"2026-10-23T22:31:22+00:00","updated_at":"2026-10-23T22:31:22+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-10-23T22:31:22Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade praisonai to 4.6.59 or later.\nRestrict the approval channel to trusted approvers until upgraded.","reach":"network","title":"PraisonAI: any Discord channel user can approve dangerous agent tool calls","impact":"high","summary":"PraisonAI's Discord approval backend approves a pending high-risk tool call when any non-bot user in the approval channel posts an approval word such as yes. An attacker who can post in that channel can authorize actions the operator meant to gate.","category":"ai-tooling","who_cares":["praisonai","python","discord","ai-agents"],"confidence":0.8,"needs_auth":"unknown","worst_case":"Attacker approves a pending dangerous tool call, running it on the agent host","analyst_note":"","how_to_check":"Check whether the PraisonAI version is between 4.5.2 and 4.6.58 (pip show praisonai) and whether the Discord approval backend (praisonai.bots.DiscordApproval) is in use.","needs_analyst":false,"not_affected_if":["default-config","no-discord-approval"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000512,"input_tokens":3060,"output_tokens":413,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-56832':14A,17A '4.5.2':83C '4.6.59':87C,206C 'action':67B 'agent':9A,20B,78C 'ai':19B,22B 'ai-ag':18B 'ai-tool':21B 'allowlist':165C 'also':151C 'appear':147C 'approv':7A,30B,32B,48B,52B,89C,114C,129C,132C,145C,159C,164C,185C 'attack':58B 'author':66B 'backend':31B,160C,177C 'bot':44B,102C 'bound':198C 'call':11A,39B,94C,139C 'channel':4A,49B,64B,108C,130C,180C 'classifi':112C 'configur':106C,128C 'cross':182C 'cross-talk':181C 'cve':12A,15A 'danger':8A,92C 'discord':3A,24B,29B,107C,176C 'explicit':163C 'gate':72B 'grade':172C 'high':36B,136C 'high-risk':35B,135C 'issu':173C,200C 'later':99C 'meant':70B 'messag':103C,146C,158C,186C 'multi':77C 'multi-ag':76C 'need':189C 'non':43B,101C 'non-bot':42B,100C 'oper':69B 'otherwis':195C 'paramet':166C 'patch':203C 'pend':34B,91C,134C 'post':50B,61B,125C 'pov':150C 'praisonai':1A,25B,27B,73C 'praisonai.bots.discordapproval':88C 'primari':169C 'python':26B 'repli':193C 'report':171C 'report-grad':170C 'request':197C 'request-bound':196C 'result':120C 'risk':37B,137C 'see':97C 'send':141C 'show':152C 'slack':155C 'system':80C 'talk':183C 'team':79C 'telegram':157C 'text':110C 'tool':10A,23B,38B,93C,138C 'unthread':179C 'user':5A,45B,122C 'version':82C,86C,205C 'whose':109C 'word':53B 'yes':56B,117C,142C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T12:18:14+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-56832","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-56832","severity":null,"published_at":"2026-10-23T12:18:14+00:00","modified_at":"2026-10-23T12:18:14+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}