<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-14T16:03:19.423647+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-47405</id>
    <title>CVE-2026-47405 — PraisonAI Platform missing role checks let any workspace member become owner and take over workspace membership</title>
    <updated>2026-10-14T16:03:19.425166+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> MervinPraison praisonai-platform</p>
<p>PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Versions prior to 0.1.4 have a broken workspace authorization check that allows any authenticated low-privilege workspace member to escalate their own role to `owner`. The issue is caused by privileged workspace-management routes using the shared dependency `require_workspace_member(...)` without requiring `admin` or `owner`. The dependency defaults to `min_role="member"`, so routes that should be administrative are accessible to ordinary workspace members. As a result, a normal workspace member can promote their own account from `member` to `owner`; add arbitrary users as `owner` or `admin`; change other members' roles; remove legitimate owners or members; take over workspace membership completely; and/or perform destructive workspace operations after escalation. This is a broken access control / vertical privilege escalation vulnerability. PraisonAI Platform version 0.1.4 patches the issue.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-47405"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-h37g-4h4p-9x97</id>
    <title>GHSA-h37g-4h4p-9x97 — PraisonAI Platform: Missing role checks let any workspace member become owner and control workspace membership</title>
    <updated>2026-10-14T16:03:19.425244+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: praisonai-platform</p>
<p>### Summary</p>
<p>PraisonAI Platform has a broken workspace authorization check that allows any authenticated low-privilege workspace member to escalate their own role to `owner`.</p>
<p>The issue is caused by privileged workspace-management routes using the shared dependency `require_workspace_member(...)` without requiring `admin` or `owner`. The dependency defaults to `min_role="member"`, so routes that should be administrative are accessible to ordinary workspace members.</p>
<p>As a result, a normal workspace member can:</p>
<p>- promote their own account from `member` to `owner`;
- add arbitrary users as `owner` or `admin`;
- change other members' roles;
- remove legitimate owners or members;
- take over workspace membership completely;
- perform destructive workspace operations after escalation.</p>
<p>This is a broken access control / vertical privilege escalation vulnerability.</p>
<p>### Details</p>
<p>The vulnerable authorization dependency is defined in:</p>
<p>```text
praisonai_platform/api/deps.py
````</p>
<p>The dependency defaults to the lowest workspace role:</p>
<p>```python
async def require_workspace_member(
    workspace_id: str,
    user: AuthIdentity = Depends(get_current_user),
    session: AsyncSession = Depends(get_db),
    min_role: str = "member",
) -&gt; AuthIdentity:
    ...
    has = await member_svc.has_role(workspace_id, user.id, min_role)
```</p>
<p>Because `min_role` defaults to `"member"`, any route using:</p>
<p>```python
Depends(require_workspace_member)
```</p>
<p>without explicitly passing a stronger role only req…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-h37g-4h4p-9x97"/>
  </entry>
</feed>
