<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 14:36:12 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-57129</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-57129</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-57129</guid>
    </item>
    <item>
      <title>GHSA-2rcg-mm5h-xchx — PraisonAI: Arbitrary File Read via `@file:` Mention Path Traversal</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-2rcg-mm5h-xchx</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&amp;gt; Optional[str]:
    &amp;#34;&amp;#34;&amp;#34;Process @file:path mention.&amp;#34;&amp;#34;&amp;#34;
    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&amp;#34;File not found: {file_path}&amp;#34;, logging.WARNING)
            return f&amp;#34;# File: {file_path}\n[File not found]&amp;#34;
        
        content = full_path.read_text(encoding=&amp;#34;utf-8&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;**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…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&amp;gt; Optional[str]:
    &amp;#34;&amp;#34;&amp;#34;Process @file:path mention.&amp;#34;&amp;#34;&amp;#34;
    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&amp;#34;File not found: {file_path}&amp;#34;, logging.WARNING)
            return f&amp;#34;# File: {file_path}\n[File not found]&amp;#34;
        
        content = full_path.read_text(encoding=&amp;#34;utf-8&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;**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…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-2rcg-mm5h-xchx</guid>
    </item>
    <item>
      <title>PYSEC-2026-3527 — PraisonAI: Arbitrary File Read via `@file:` Mention Path Traversal</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-3527</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&amp;gt; Optional[str]:
    &amp;#34;&amp;#34;&amp;#34;Process @file:path mention.&amp;#34;&amp;#34;&amp;#34;
    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&amp;#34;File not found: {file_path}&amp;#34;, logging.WARNING)
            return f&amp;#34;# File: {file_path}\n[File not found]&amp;#34;
        
        content = full_path.read_text(encoding=&amp;#34;utf-8&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;**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…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details
**Vulnerable code (lines 165–178):**
```python
def _process_file_mention(self, file_path: str) -&amp;gt; Optional[str]:
    &amp;#34;&amp;#34;&amp;#34;Process @file:path mention.&amp;#34;&amp;#34;&amp;#34;
    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&amp;#34;File not found: {file_path}&amp;#34;, logging.WARNING)
            return f&amp;#34;# File: {file_path}\n[File not found]&amp;#34;
        
        content = full_path.read_text(encoding=&amp;#34;utf-8&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;**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…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-3527</guid>
    </item>
  </channel>
</rss>
