<?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 19:56:17 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-374176</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-374176</link>
      <description>EUVD-2026-374176</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-374176</guid>
    </item>
    <item>
      <title>fkie_cve-2026-77426</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-77426</link>
      <description>&lt;p&gt;Unleash is an open-source feature management platform. Prior to 8.0.3, the Unleash admin API contains five authorization vulnerabilities. POST /api/admin/segments/strategies assigns the Promise returned by hasPermission without awaiting it, allowing authenticated users to modify segment assignments without UPDATE_FEATURE_STRATEGY permission for the target project and environment. GET /api/admin/projects/:projectId/features/:featureName/environments/:environment/variants does not bind the requested feature to projectId, allowing cross-project variant configuration disclosure. GET .../strategies/:strategyId uses strategyId without validating the project and feature context, allowing cross-project strategy configuration disclosure. getEnvironmentInfo does not validate that the requested feature belongs to the supplied project, allowing cross-project environment information disclosure. PUT /:projectId/tags accepts feature identifiers without verifying that they belong to the URL project, allowing cross-project tag modification. This issue is fixed in version 8.0.3.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Unleash is an open-source feature management platform. Prior to 8.0.3, the Unleash admin API contains five authorization vulnerabilities. POST /api/admin/segments/strategies assigns the Promise returned by hasPermission without awaiting it, allowing authenticated users to modify segment assignments without UPDATE_FEATURE_STRATEGY permission for the target project and environment. GET /api/admin/projects/:projectId/features/:featureName/environments/:environment/variants does not bind the requested feature to projectId, allowing cross-project variant configuration disclosure. GET .../strategies/:strategyId uses strategyId without validating the project and feature context, allowing cross-project strategy configuration disclosure. getEnvironmentInfo does not validate that the requested feature belongs to the supplied project, allowing cross-project environment information disclosure. PUT /:projectId/tags accepts feature identifiers without verifying that they belong to the URL project, allowing cross-project tag modification. This issue is fixed in version 8.0.3.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-77426</guid>
    </item>
    <item>
      <title>GHSA-72h8-wp98-7hch — Unleash: Missing await on permission check + cross-project IDOR in admin API</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-72h8-wp98-7hch</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: unleash-server&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Multiple authorization vulnerabilities in Unleash admin API, including a critical missing `await` that completely bypasses a permission check.&lt;/p&gt;
&lt;p&gt;## Vulnerability 1: Missing `await` on Permission Check (HIGH)&lt;/p&gt;
&lt;p&gt;**File:** `src/lib/features/segment/segment-controller.ts` (line 345)&lt;/p&gt;
&lt;p&gt;`POST /api/admin/segments/strategies` has `permission: NONE` at the route level. The handler performs its own check via `this.accessService.hasPermission()`, but **omits the `await` keyword**. Since `hasPermission()` is async (returns `Promise&amp;lt;boolean&amp;gt;`), the variable always receives a truthy Promise object. The `if (!hasFeatureStrategyPermission)` check never triggers.&lt;/p&gt;
&lt;p&gt;```typescript
// BUG: missing await - hasPermission() returns Promise&amp;lt;boolean&amp;gt;
const hasFeatureStrategyPermission = this.accessService.hasPermission(
    req.user, UPDATE_FEATURE_STRATEGY, projectId, environmentId,
);
if (!hasFeatureStrategyPermission) { // Always false - Promise is truthy!
    res.status(403).send();
    return;
}
```&lt;/p&gt;
&lt;p&gt;**Impact:** Any authenticated user can modify segment assignments on ANY strategy across ALL projects.&lt;/p&gt;
&lt;p&gt;**Fix:** Add `await`: `const hasFeatureStrategyPermission = await this.accessService.hasPermission(...)`&lt;/p&gt;
&lt;p&gt;## Vulnerability 2: Cross-Project Variant Read (MEDIUM)&lt;/p&gt;
&lt;p&gt;**File:** `src/lib/routes/admin-api/project/variants.ts` (line 213-223)&lt;/p&gt;
&lt;p&gt;`GET /api/admin/projects/:projectId/features/:featureName/environments/:environment/variants` completely ignores `projectId`. `getVariantsOnEnv()` only use…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: unleash-server&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Multiple authorization vulnerabilities in Unleash admin API, including a critical missing `await` that completely bypasses a permission check.&lt;/p&gt;
&lt;p&gt;## Vulnerability 1: Missing `await` on Permission Check (HIGH)&lt;/p&gt;
&lt;p&gt;**File:** `src/lib/features/segment/segment-controller.ts` (line 345)&lt;/p&gt;
&lt;p&gt;`POST /api/admin/segments/strategies` has `permission: NONE` at the route level. The handler performs its own check via `this.accessService.hasPermission()`, but **omits the `await` keyword**. Since `hasPermission()` is async (returns `Promise&amp;lt;boolean&amp;gt;`), the variable always receives a truthy Promise object. The `if (!hasFeatureStrategyPermission)` check never triggers.&lt;/p&gt;
&lt;p&gt;```typescript
// BUG: missing await - hasPermission() returns Promise&amp;lt;boolean&amp;gt;
const hasFeatureStrategyPermission = this.accessService.hasPermission(
    req.user, UPDATE_FEATURE_STRATEGY, projectId, environmentId,
);
if (!hasFeatureStrategyPermission) { // Always false - Promise is truthy!
    res.status(403).send();
    return;
}
```&lt;/p&gt;
&lt;p&gt;**Impact:** Any authenticated user can modify segment assignments on ANY strategy across ALL projects.&lt;/p&gt;
&lt;p&gt;**Fix:** Add `await`: `const hasFeatureStrategyPermission = await this.accessService.hasPermission(...)`&lt;/p&gt;
&lt;p&gt;## Vulnerability 2: Cross-Project Variant Read (MEDIUM)&lt;/p&gt;
&lt;p&gt;**File:** `src/lib/routes/admin-api/project/variants.ts` (line 213-223)&lt;/p&gt;
&lt;p&gt;`GET /api/admin/projects/:projectId/features/:featureName/environments/:environment/variants` completely ignores `projectId`. `getVariantsOnEnv()` only use…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-72h8-wp98-7hch</guid>
    </item>
  </channel>
</rss>
