All vulnerabilities
CVE-2026-57146GHSA-jxcw-qp4h-6jfqPYSEC-2026-3515

PraisonAI A2U incomplete authentication fix leaves current serve command unauthenticated by default

MervinPraison PraisonAIPyPILibraries & packages
CVSS
7.5High
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.61Fixed versionOSV
Published23 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 4.6.61praisonai, PyPIOSVpip install "praisonai>=4.6.61"

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.115 to before version 4.6.61, the published A2U advisory GHSA-f292-66h9-fpmf says unauthenticated A2U event streaming was fixed in praisonai 4.5.115. Current head still exposes the same A2U subscription and event routes without authentication when the operator starts the documented CLI entrypoint. The current CLI wrapper does not expose --api-key, does not install the common API-key middleware, and does not generate a token for A2U. It calls create_a2u_routes(app) directly. That helper only enforces auth if A2U_AUTH_TOKEN is already present; if the variable is missing, _authenticate_request() returns None and treats auth as disabled. This issue has been patched in version 4.6.61.

Text from CVE List

Affected versions 53

  • PraisonAIaffected: >= 4.5.115, < 4.6.61CVE List
  • praisonai, pip>= 4.5.115, <= 4.6.58GitHub
  • praisonai, PyPIfrom 4.5.115, fixed in 4.6.61OSV
  • praisonai, PyPI4.5.115OSV
  • praisonai, PyPI4.5.117OSV
  • praisonai, PyPI4.5.118OSV
  • praisonai, PyPI4.5.119OSV
  • 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.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.140OSV
  • praisonai, PyPI4.5.143OSV
  • praisonai, PyPI4.5.144OSV
  • praisonai, PyPI4.5.145OSV
  • praisonai, PyPI4.5.149OSV
  • praisonai, PyPI4.6.10OSV
  • praisonai, PyPI4.6.11OSV
  • praisonai, PyPI4.6.12OSV
  • praisonai, PyPI4.6.13OSV
  • praisonai, PyPI4.6.14OSV
  • praisonai, PyPI4.6.15OSV
  • praisonai, PyPI4.6.16OSV
  • praisonai, PyPI4.6.18OSV
  • praisonai, PyPI4.6.19OSV
  • praisonai, PyPI4.6.20OSV
  • praisonai, PyPI4.6.21OSV
  • praisonai, PyPI4.6.22OSV
  • praisonai, PyPI4.6.23OSV
  • praisonai, PyPI4.6.24OSV
  • praisonai, PyPI4.6.25OSV
  • praisonai, PyPI4.6.26OSV
  • praisonai, PyPI4.6.27OSV
  • praisonai, PyPI4.6.28OSV
  • praisonai, PyPI4.6.29OSV
  • praisonai, PyPI4.6.30OSV
  • praisonai, PyPI4.6.31OSV
  • praisonai, PyPI4.6.32OSV

References 1