<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T09:14:34.193635+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/fkie_cve-2026-57129</id>
    <title>fkie_cve-2026-57129</title>
    <updated>2026-10-02T09:14:35.015979+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.59, MentionsParser._process_file_mention accepts file-mention values and falls back from workspace-relative resolution to Path(file_path) without traversal, symlink, or workspace-boundary validation. Prompt input from users, bots, or workflows can therefore read arbitrary files accessible to the process, including credentials, keys, environment files, source code, and system configuration. This issue is fixed in praisonaiagents 1.6.59.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-57129"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-2rcg-mm5h-xchx</id>
    <title>GHSA-2rcg-mm5h-xchx — PraisonAI: Arbitrary File Read via `@file:` Mention Path Traversal</title>
    <updated>2026-10-02T09:14:35.016084+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: praisonaiagents</p>
<p>## Summary</p>
<p>The MentionsParser in `src/praisonai-agents/praisonaiagents/tools/mentions.py` processes `@file:` mentions in agent prompts by reading arbitrary files from the filesystem. When a file path is not found relative to the workspace, the parser falls back to using the path as an absolute path without any validation or boundary check. This allows an attacker who can influence agent prompts (via chat messages, Telegram/Discord/Slack bot inputs, or YAML workflow configs) to read any file on the filesystem accessible to the process user.</p>
<p>## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&gt; Optional[str]:
    """Process @file:path mention."""
    try:
        # Resolve path relative to workspace
        full_path = self.workspace_path / file_path
        if not full_path.exists():
            # Try as absolute path
            full_path = Path(file_path)
        
        if not full_path.exists():
            self._log(f"File not found: {file_path}", logging.WARNING)
            return f"# File: {file_path}\n[File not found]"
        
        content = full_path.read_text(encoding="utf-8")
```</p>
<p>**The vulnerability is in the fallback at line 171–172:** When the file is not found relative to `workspace_path`, the code constructs `full_path = Path(file_path)`, which accepts any absolute or relative path without validation. There is no:
- `..` path traversal check
- Workspace boundary validation
- Symlink resolution agai…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-2rcg-mm5h-xchx"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-3527</id>
    <title>PYSEC-2026-3527 — PraisonAI: Arbitrary File Read via `@file:` Mention Path Traversal</title>
    <updated>2026-10-02T09:14:35.016201+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: praisonaiagents</p>
<p>## Summary</p>
<p>The MentionsParser in `src/praisonai-agents/praisonaiagents/tools/mentions.py` processes `@file:` mentions in agent prompts by reading arbitrary files from the filesystem. When a file path is not found relative to the workspace, the parser falls back to using the path as an absolute path without any validation or boundary check. This allows an attacker who can influence agent prompts (via chat messages, Telegram/Discord/Slack bot inputs, or YAML workflow configs) to read any file on the filesystem accessible to the process user.</p>
<p>## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&gt; Optional[str]:
    """Process @file:path mention."""
    try:
        # Resolve path relative to workspace
        full_path = self.workspace_path / file_path
        if not full_path.exists():
            # Try as absolute path
            full_path = Path(file_path)
        
        if not full_path.exists():
            self._log(f"File not found: {file_path}", logging.WARNING)
            return f"# File: {file_path}\n[File not found]"
        
        content = full_path.read_text(encoding="utf-8")
```</p>
<p>**The vulnerability is in the fallback at line 171–172:** When the file is not found relative to `workspace_path`, the code constructs `full_path = Path(file_path)`, which accepts any absolute or relative path without validation. There is no:
- `..` path traversal check
- Workspace boundary validation
- Symlink resolution agai…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-3527"/>
  </entry>
</feed>
