<?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://cve.radiocsirt.org</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>Tue, 06 Oct 2026 14:02:14 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-358953</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-358953</link>
      <description>EUVD-2026-358953</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-358953</guid>
    </item>
    <item>
      <title>fkie_cve-2026-55527</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-55527</link>
      <description>&lt;p&gt;PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.58, the FileMemory constructor joins unsanitized user_id into self.user_path. A caller supplying ../ or path separators can escape the memory directory and write JSON data to arbitrary process-writable locations. The fix sanitizes user_id before constructing self.user_path. This issue is fixed in version 1.6.58.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.58, the FileMemory constructor joins unsanitized user_id into self.user_path. A caller supplying ../ or path separators can escape the memory directory and write JSON data to arbitrary process-writable locations. The fix sanitizes user_id before constructing self.user_path. This issue is fixed in version 1.6.58.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-55527</guid>
    </item>
    <item>
      <title>GHSA-gxmw-5f7x-6g22 — praisonaiagents vulnerable to arbitrary file write via unsanitized `user_id` in `FileMemory.__init__()` — path traversa…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-gxmw-5f7x-6g22</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;`praisonaiagents/memory/file_memory.py::FileMemory.__init__()` constructs all
memory file paths by directly joining the `user_id` parameter to a base path:&lt;/p&gt;
&lt;p&gt;```python
self.user_path = self.base_path / user_id      # LINE 145 — no sanitization
```&lt;/p&gt;
&lt;p&gt;No validation or normalization is applied to `user_id` before the path join.
An attacker who can supply a `user_id` containing `../` sequences can write
arbitrary JSON files (memory content) to **any writable location on the filesystem**.&lt;/p&gt;
&lt;p&gt;The vulnerability is confirmed **live on the current `main` branch**
(`praisonaiagents==1.6.52`) and is **distinct from GHSA-766v-q9x3-g744**
(which covered `MultiAgentMonitor` in an example file, not `FileMemory` in the
core library).&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Vulnerable code — `praisonaiagents/memory/file_memory.py` lines 139-157:**&lt;/p&gt;
&lt;p&gt;```python
def __init__(
    self,
    user_id: str = &amp;#34;default&amp;#34;,
    base_path: Optional[str] = None,
    ...
):
    ...
    self.user_path = self.base_path / user_id          # LINE 145 — NO SANITIZATION
    self.episodic_path = self.user_path / &amp;#34;episodic&amp;#34;&lt;/p&gt;
&lt;p&gt;self.user_path.mkdir(parents=True, exist_ok=True)  # creates dirs at traversed path
    self.episodic_path.mkdir(parents=True, exist_ok=True)&lt;/p&gt;
&lt;p&gt;self.config_file      = self.user_path / &amp;#34;config.json&amp;#34;
    self.short_term_file  = self.user_path / &amp;#34;short_term.json&amp;#34;
    self.long_term_file   = self.user_path / &amp;#34;long_term.json&amp;#34;
    self.entities_file    = self.user_path / &amp;#34;entities.json&amp;#34;
    self.summaries_f…&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;`praisonaiagents/memory/file_memory.py::FileMemory.__init__()` constructs all
memory file paths by directly joining the `user_id` parameter to a base path:&lt;/p&gt;
&lt;p&gt;```python
self.user_path = self.base_path / user_id      # LINE 145 — no sanitization
```&lt;/p&gt;
&lt;p&gt;No validation or normalization is applied to `user_id` before the path join.
An attacker who can supply a `user_id` containing `../` sequences can write
arbitrary JSON files (memory content) to **any writable location on the filesystem**.&lt;/p&gt;
&lt;p&gt;The vulnerability is confirmed **live on the current `main` branch**
(`praisonaiagents==1.6.52`) and is **distinct from GHSA-766v-q9x3-g744**
(which covered `MultiAgentMonitor` in an example file, not `FileMemory` in the
core library).&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Vulnerable code — `praisonaiagents/memory/file_memory.py` lines 139-157:**&lt;/p&gt;
&lt;p&gt;```python
def __init__(
    self,
    user_id: str = &amp;#34;default&amp;#34;,
    base_path: Optional[str] = None,
    ...
):
    ...
    self.user_path = self.base_path / user_id          # LINE 145 — NO SANITIZATION
    self.episodic_path = self.user_path / &amp;#34;episodic&amp;#34;&lt;/p&gt;
&lt;p&gt;self.user_path.mkdir(parents=True, exist_ok=True)  # creates dirs at traversed path
    self.episodic_path.mkdir(parents=True, exist_ok=True)&lt;/p&gt;
&lt;p&gt;self.config_file      = self.user_path / &amp;#34;config.json&amp;#34;
    self.short_term_file  = self.user_path / &amp;#34;short_term.json&amp;#34;
    self.long_term_file   = self.user_path / &amp;#34;long_term.json&amp;#34;
    self.entities_file    = self.user_path / &amp;#34;entities.json&amp;#34;
    self.summaries_f…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-gxmw-5f7x-6g22</guid>
    </item>
    <item>
      <title>PYSEC-2026-3902 — praisonaiagents vulnerable to arbitrary file write via unsanitized `user_id` in `FileMemory.__init__()` — path traversa…</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-3902</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;`praisonaiagents/memory/file_memory.py::FileMemory.__init__()` constructs all
memory file paths by directly joining the `user_id` parameter to a base path:&lt;/p&gt;
&lt;p&gt;```python
self.user_path = self.base_path / user_id      # LINE 145 — no sanitization
```&lt;/p&gt;
&lt;p&gt;No validation or normalization is applied to `user_id` before the path join.
An attacker who can supply a `user_id` containing `../` sequences can write
arbitrary JSON files (memory content) to **any writable location on the filesystem**.&lt;/p&gt;
&lt;p&gt;The vulnerability is confirmed **live on the current `main` branch**
(`praisonaiagents==1.6.52`) and is **distinct from GHSA-766v-q9x3-g744**
(which covered `MultiAgentMonitor` in an example file, not `FileMemory` in the
core library).&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Vulnerable code — `praisonaiagents/memory/file_memory.py` lines 139-157:**&lt;/p&gt;
&lt;p&gt;```python
def __init__(
    self,
    user_id: str = &amp;#34;default&amp;#34;,
    base_path: Optional[str] = None,
    ...
):
    ...
    self.user_path = self.base_path / user_id          # LINE 145 — NO SANITIZATION
    self.episodic_path = self.user_path / &amp;#34;episodic&amp;#34;&lt;/p&gt;
&lt;p&gt;self.user_path.mkdir(parents=True, exist_ok=True)  # creates dirs at traversed path
    self.episodic_path.mkdir(parents=True, exist_ok=True)&lt;/p&gt;
&lt;p&gt;self.config_file      = self.user_path / &amp;#34;config.json&amp;#34;
    self.short_term_file  = self.user_path / &amp;#34;short_term.json&amp;#34;
    self.long_term_file   = self.user_path / &amp;#34;long_term.json&amp;#34;
    self.entities_file    = self.user_path / &amp;#34;entities.json&amp;#34;
    self.summaries_f…&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;`praisonaiagents/memory/file_memory.py::FileMemory.__init__()` constructs all
memory file paths by directly joining the `user_id` parameter to a base path:&lt;/p&gt;
&lt;p&gt;```python
self.user_path = self.base_path / user_id      # LINE 145 — no sanitization
```&lt;/p&gt;
&lt;p&gt;No validation or normalization is applied to `user_id` before the path join.
An attacker who can supply a `user_id` containing `../` sequences can write
arbitrary JSON files (memory content) to **any writable location on the filesystem**.&lt;/p&gt;
&lt;p&gt;The vulnerability is confirmed **live on the current `main` branch**
(`praisonaiagents==1.6.52`) and is **distinct from GHSA-766v-q9x3-g744**
(which covered `MultiAgentMonitor` in an example file, not `FileMemory` in the
core library).&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Vulnerable code — `praisonaiagents/memory/file_memory.py` lines 139-157:**&lt;/p&gt;
&lt;p&gt;```python
def __init__(
    self,
    user_id: str = &amp;#34;default&amp;#34;,
    base_path: Optional[str] = None,
    ...
):
    ...
    self.user_path = self.base_path / user_id          # LINE 145 — NO SANITIZATION
    self.episodic_path = self.user_path / &amp;#34;episodic&amp;#34;&lt;/p&gt;
&lt;p&gt;self.user_path.mkdir(parents=True, exist_ok=True)  # creates dirs at traversed path
    self.episodic_path.mkdir(parents=True, exist_ok=True)&lt;/p&gt;
&lt;p&gt;self.config_file      = self.user_path / &amp;#34;config.json&amp;#34;
    self.short_term_file  = self.user_path / &amp;#34;short_term.json&amp;#34;
    self.long_term_file   = self.user_path / &amp;#34;long_term.json&amp;#34;
    self.entities_file    = self.user_path / &amp;#34;entities.json&amp;#34;
    self.summaries_f…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-3902</guid>
    </item>
  </channel>
</rss>
