<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-24T23:11:19.963219+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/cve-2026-56833</id>
    <title>CVE-2026-56833 — PraisonAI Dynamic Context history and terminal tools read files outside configured storage via path traversal</title>
    <updated>2026-10-24T23:11:19.964243+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> MervinPraison PraisonAI</p>
<p>PraisonAI is a multi-agent teams system. From version 3.8.1 to before version 4.6.59, PraisonAI's Dynamic Context module provides filesystem-backed history and terminal-log storage. The module also exports agent-callable tool factories. Those tools accept run_id and agent_id arguments from the tool caller. The underlying stores join those values into filesystem paths without rejecting absolute paths or .. traversal. Because run_id can be an absolute path and agent_id can contain traversal, a lower-trust prompt/user that can call these tools can read .jsonl and .log files outside the configured Dynamic Context base directory. This issue has been patched in version 4.6.59.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-56833"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/pysec-2026-3499</id>
    <title>PYSEC-2026-3499 — PraisonAI Dynamic Context history and terminal tools read files outside configured storage via path traversal</title>
    <updated>2026-10-24T23:11:19.964315+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: praisonai</p>
<p># PraisonAI Dynamic Context history and terminal tools read files outside configured storage via path traversal</p>
<p>## Summary</p>
<p>PraisonAI's Dynamic Context module provides filesystem-backed history and
terminal-log storage. The SDK reference describes the module as providing:</p>
<p>- artifact storage for tool outputs, history, and terminal logs;
- history persistence with search; and
- terminal session logging.</p>
<p>The module also exports agent-callable tool factories:</p>
<p>- `create_history_tools()` returns `history_search`, `history_tail`, and
  `history_get`.
- `create_terminal_tools()` returns `terminal_tail`, `terminal_grep`, and
  `terminal_commands`.</p>
<p>Those tools accept `run_id` and `agent_id` arguments from the tool caller. The
underlying stores join those values into filesystem paths without rejecting
absolute paths or `..` traversal:</p>
<p>```python
history_dir = self.base_dir / run_id / "history"
return history_dir / f"{agent_id}.jsonl"
```</p>
<p>```python
terminal_dir = self.base_dir / run_id / "terminal"
return terminal_dir / f"{agent_id}.log"
```</p>
<p>Because `run_id` can be an absolute path and `agent_id` can contain traversal,
a lower-trust prompt/user that can call these tools can read `.jsonl` and
`.log` files outside the configured Dynamic Context base directory.</p>
<p>## Affected Product</p>
<p>- Repository: `MervinPraison/PraisonAI`
- Ecosystem: `pip`
- Package: `praisonai`
- Component: Dynamic Context history and terminal tools
- Current source paths:
  - `src/praisonai/praisonai/context/hist…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/pysec-2026-3499"/>
  </entry>
</feed>
