All vulnerabilities
CVE-2026-56840GHSA-63v4-w882-g4x2PYSEC-2026-3503

PraisonAI: HTTPApproval dashboard renders tool arguments as raw HTML, allowing approval-page XSS to approve dangerous tools

MervinPraison PraisonAIPyPILibraries & packages
CVSS
8.8High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in4.6.59Fixed versionOSV
Published23 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 4.6.59praisonai, PyPIOSVpip 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.HTTPApproval renders pending tool approval arguments directly into the approval dashboard HTML. An attacker-controlled tool argument can inject JavaScript into that page. When a human opens the approval URL to inspect the risky tool request, the script runs in the dashboard origin and can POST to the same request's /approve/{request_id}/decide endpoint, causing HTTPApproval to return approved=True. This issue has been patched in version 4.6.59.

Text from CVE List

Affected versions 52

  • PraisonAIaffected: >= 4.5.2, < 4.6.59CVE List
  • 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

References 1