PraisonAI DiscordApproval accepts unrelated channel messages as dangerous-tool approvals
What fixes it
- 4.6.59praisonai, PyPIOSV
pip install "praisonai>=4.6.59"
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from CVE List
Affected versions 53
- PraisonAIaffected: >= 4.5.2, < 4.6.59CVE List
- praisonai, pip>= 4.5.2, <= 4.6.58GitHub
- praisonai, PyPIfrom 4.5.2, fixed in 4.6.59OSV
- praisonai, PyPI4.5.10OSV
- praisonai, PyPI4.5.100OSV
- praisonai, PyPI4.5.101OSV
- praisonai, PyPI4.5.102OSV
- praisonai, PyPI4.5.103OSV
- praisonai, PyPI4.5.104OSV
- praisonai, PyPI4.5.105OSV
- praisonai, PyPI4.5.106OSV
- praisonai, PyPI4.5.107OSV
- praisonai, PyPI4.5.108OSV
- praisonai, PyPI4.5.109OSV
- praisonai, PyPI4.5.11OSV
- praisonai, PyPI4.5.110OSV
- praisonai, PyPI4.5.111OSV
- praisonai, PyPI4.5.112OSV
- praisonai, PyPI4.5.113OSV
- praisonai, PyPI4.5.114OSV
- praisonai, PyPI4.5.115OSV
- praisonai, PyPI4.5.117OSV
- praisonai, PyPI4.5.118OSV
- praisonai, PyPI4.5.119OSV
- praisonai, PyPI4.5.12OSV
- praisonai, PyPI4.5.120OSV
- praisonai, PyPI4.5.121OSV
- praisonai, PyPI4.5.122OSV
- praisonai, PyPI4.5.123OSV
- praisonai, PyPI4.5.124OSV
- praisonai, PyPI4.5.125OSV
- praisonai, PyPI4.5.126OSV
- praisonai, PyPI4.5.127OSV
- praisonai, PyPI4.5.128OSV
- praisonai, PyPI4.5.129OSV
- praisonai, PyPI4.5.13OSV
- praisonai, PyPI4.5.130OSV
- praisonai, PyPI4.5.131OSV
- praisonai, PyPI4.5.132OSV
- praisonai, PyPI4.5.133OSV
- praisonai, PyPI4.5.134OSV
- praisonai, PyPI4.5.135OSV
- praisonai, PyPI4.5.136OSV
- praisonai, PyPI4.5.137OSV
- praisonai, PyPI4.5.139OSV
- praisonai, PyPI4.5.14OSV
- praisonai, PyPI4.5.140OSV
- praisonai, PyPI4.5.143OSV
- praisonai, PyPI4.5.144OSV
- praisonai, PyPI4.5.145OSV
- praisonai, PyPI4.5.149OSV
- praisonai, PyPI4.5.15OSV
- praisonai, PyPI4.5.16OSV