<?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>Mon, 05 Oct 2026 05:14:49 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-339402</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-339402</link>
      <description>EUVD-2026-339402</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-339402</guid>
    </item>
    <item>
      <title>fkie_cve-2026-47410</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-47410</link>
      <description>&lt;p&gt;PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Versions prior to 0.1.4 have an insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins). PraisonAI Platform version 0.1.4 patches the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Versions prior to 0.1.4 have an insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins). PraisonAI Platform version 0.1.4 patches the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-47410</guid>
    </item>
    <item>
      <title>GHSA-3qg8-5g3r-79v5 — praisonai-platform: JWT signing key defaults to hardcoded "dev-secret-change-me", allowing token forgery for any user w…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-3qg8-5g3r-79v5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonai-platform&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;**Type:** Insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins).
**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.
**Root cause:** the production-mode guard checks `os.environ.get(&amp;#34;PLATFORM_ENV&amp;#34;, &amp;#34;dev&amp;#34;) != &amp;#34;dev&amp;#34;` — but the default is `&amp;#34;dev&amp;#34;`, so a clean deployment that just imports the package and runs `uvicorn praisonai_platform.api.app:app` proceeds with the hardcoded secret. The package documentation does not warn loudly enough that BOTH variables must be set; the guard suppresses itself when either condition is missed. JWT verification at line 129 trusts whatever the token says (`sub`, `email`, `name`) once the HMAC-SHA256 signature validates against the publicly-known secret. Since the verifier accepts forged tokens for any user_id, the attacker becomes that user across every authenticated route.&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonai-platform&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;**Type:** Insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins).
**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.
**Root cause:** the production-mode guard checks `os.environ.get(&amp;#34;PLATFORM_ENV&amp;#34;, &amp;#34;dev&amp;#34;) != &amp;#34;dev&amp;#34;` — but the default is `&amp;#34;dev&amp;#34;`, so a clean deployment that just imports the package and runs `uvicorn praisonai_platform.api.app:app` proceeds with the hardcoded secret. The package documentation does not warn loudly enough that BOTH variables must be set; the guard suppresses itself when either condition is missed. JWT verification at line 129 trusts whatever the token says (`sub`, `email`, `name`) once the HMAC-SHA256 signature validates against the publicly-known secret. Since the verifier accepts forged tokens for any user_id, the attacker becomes that user across every authenticated route.&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-3qg8-5g3r-79v5</guid>
    </item>
    <item>
      <title>PYSEC-2026-479 — praisonai-platform: JWT signing key defaults to hardcoded "dev-secret-change-me", allowing token forgery for any user w…</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-479</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonai-platform&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;**Type:** Insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins).
 **File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.
**Root cause:** the production-mode guard checks `os.environ.get(&amp;#34;PLATFORM_ENV&amp;#34;, &amp;#34;dev&amp;#34;) != &amp;#34;dev&amp;#34;` — but the default is `&amp;#34;dev&amp;#34;`, so a clean deployment that just imports the package and runs `uvicorn praisonai_platform.api.app:app` proceeds with the hardcoded secret. The package documentation does not warn loudly enough that BOTH variables must be set; the guard suppresses itself when either condition is missed. JWT verification at line 129 trusts whatever the token says (`sub`, `email`, `name`) once the HMAC-SHA256 signature validates against the publicly-known secret. Since the verifier accepts forged tokens for any user_id, the attacker becomes that user across every authenticated route.&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonai-platform&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;**Type:** Insecure default cryptographic key. The JWT signing secret defaults to the hardcoded literal `&amp;#34;dev-secret-change-me&amp;#34;` when `PLATFORM_JWT_SECRET` is unset. A safety check exists but only fires when `PLATFORM_ENV != &amp;#34;dev&amp;#34;`; the default value of `PLATFORM_ENV` is `&amp;#34;dev&amp;#34;`, so the check is silently bypassed in any deployment that does not explicitly opt out. The attacker reads the literal from this public source file, mints a JWT with arbitrary `sub` and `email` claims, and authenticates as any existing user (including workspace owners and admins).
 **File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.
**Root cause:** the production-mode guard checks `os.environ.get(&amp;#34;PLATFORM_ENV&amp;#34;, &amp;#34;dev&amp;#34;) != &amp;#34;dev&amp;#34;` — but the default is `&amp;#34;dev&amp;#34;`, so a clean deployment that just imports the package and runs `uvicorn praisonai_platform.api.app:app` proceeds with the hardcoded secret. The package documentation does not warn loudly enough that BOTH variables must be set; the guard suppresses itself when either condition is missed. JWT verification at line 129 trusts whatever the token says (`sub`, `email`, `name`) once the HMAC-SHA256 signature validates against the publicly-known secret. Since the verifier accepts forged tokens for any user_id, the attacker becomes that user across every authenticated route.&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File:** `src/praisonai-platform/praisonai_platform/services/auth_service.py`, lines 25-36 and 114-137.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-479</guid>
    </item>
  </channel>
</rss>
