<?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 23:24:57 +0000</lastBuildDate>
    <item>
      <title>cnvd-2026-18152</title>
      <link>https://cve.radiocsirt.org/vuln/cnvd-2026-18152</link>
      <description>cnvd-2026-18152</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cnvd-2026-18152</guid>
    </item>
    <item>
      <title>EUVD-2026-275869</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-275869</link>
      <description>EUVD-2026-275869</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-275869</guid>
    </item>
    <item>
      <title>fkie_cve-2026-32103</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-32103</link>
      <description>&lt;p&gt;StudioCMS is a server-side-rendered, Astro native, headless content management system. Prior to 0.4.3, the POST /studiocms_api/dashboard/create-reset-link endpoint allows any authenticated user with admin privileges to generate a password reset token for any other user, including the owner account. The handler verifies that the caller is an admin but does not enforce role hierarchy, nor does it validate that the target userId matches the caller&amp;#39;s identity. Combined with the POST /studiocms_api/dashboard/reset-password endpoint, this allows a complete account takeover of the highest-privileged account in the system. This vulnerability is fixed in 0.4.3.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;StudioCMS is a server-side-rendered, Astro native, headless content management system. Prior to 0.4.3, the POST /studiocms_api/dashboard/create-reset-link endpoint allows any authenticated user with admin privileges to generate a password reset token for any other user, including the owner account. The handler verifies that the caller is an admin but does not enforce role hierarchy, nor does it validate that the target userId matches the caller&amp;#39;s identity. Combined with the POST /studiocms_api/dashboard/reset-password endpoint, this allows a complete account takeover of the highest-privileged account in the system. This vulnerability is fixed in 0.4.3.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-32103</guid>
    </item>
    <item>
      <title>GHSA-h7vr-cg25-jf8c — StudioCMS: IDOR — Admin-to-Owner Account Takeover via Password Reset Link Generation</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-h7vr-cg25-jf8c</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: studiocms&lt;/p&gt;
&lt;p&gt;## Summary
The POST /studiocms_api/dashboard/create-reset-link endpoint allows any authenticated user with admin privileges to generate a password reset token for any other user, including the owner account. The handler verifies that the caller is an admin but does not enforce role hierarchy, nor does it validate that the target userId matches the caller&amp;#39;s identity. Combined with the POST /studiocms_api/dashboard/reset-password endpoint, this allows a complete account takeover of the highest-privileged account in the system.&lt;/p&gt;
&lt;p&gt;## Details
#### Vulnerable Code
**File:** packages/studiocms/frontend/pages/studiocms_api/dashboard/create-reset-link.ts
**Version:** studiocms@0.3.0
```
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isAdmin;  // [1]
if (!isAuthorized) {
    return apiResponseLogger(403, &amp;#39;Unauthorized&amp;#39;);
}&lt;/p&gt;
&lt;p&gt;const { userId } = yield* readAPIContextJson&amp;lt;{ userId: string }&amp;gt;(ctx);            // [2]&lt;/p&gt;
&lt;p&gt;if (!userId) {
    return apiResponseLogger(400, &amp;#39;Invalid form data, userId is required&amp;#39;);
}&lt;/p&gt;
&lt;p&gt;// [3] userId is passed directly — no check against caller&amp;#39;s identity
// [4] No check whether the target user outranks the caller
const token = yield* sdk.resetTokenBucket.new(userId);                            // [5]
```
#### Analysis
Unlike the API token endpoints (which only require isEditor), this handler correctly gates access at the isAdmin level [1]. However, two critical authorization checks are still missing:
1. **No caller identity validation [2][3]:…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: studiocms&lt;/p&gt;
&lt;p&gt;## Summary
The POST /studiocms_api/dashboard/create-reset-link endpoint allows any authenticated user with admin privileges to generate a password reset token for any other user, including the owner account. The handler verifies that the caller is an admin but does not enforce role hierarchy, nor does it validate that the target userId matches the caller&amp;#39;s identity. Combined with the POST /studiocms_api/dashboard/reset-password endpoint, this allows a complete account takeover of the highest-privileged account in the system.&lt;/p&gt;
&lt;p&gt;## Details
#### Vulnerable Code
**File:** packages/studiocms/frontend/pages/studiocms_api/dashboard/create-reset-link.ts
**Version:** studiocms@0.3.0
```
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isAdmin;  // [1]
if (!isAuthorized) {
    return apiResponseLogger(403, &amp;#39;Unauthorized&amp;#39;);
}&lt;/p&gt;
&lt;p&gt;const { userId } = yield* readAPIContextJson&amp;lt;{ userId: string }&amp;gt;(ctx);            // [2]&lt;/p&gt;
&lt;p&gt;if (!userId) {
    return apiResponseLogger(400, &amp;#39;Invalid form data, userId is required&amp;#39;);
}&lt;/p&gt;
&lt;p&gt;// [3] userId is passed directly — no check against caller&amp;#39;s identity
// [4] No check whether the target user outranks the caller
const token = yield* sdk.resetTokenBucket.new(userId);                            // [5]
```
#### Analysis
Unlike the API token endpoints (which only require isEditor), this handler correctly gates access at the isAdmin level [1]. However, two critical authorization checks are still missing:
1. **No caller identity validation [2][3]:…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-h7vr-cg25-jf8c</guid>
    </item>
  </channel>
</rss>
