<?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 18:23:40 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-335684</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-335684</link>
      <description>EUVD-2026-335684</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-335684</guid>
    </item>
    <item>
      <title>fkie_cve-2026-56675</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-56675</link>
      <description>&lt;p&gt;9Router is an AI router &amp;amp; token saver. Prior to 0.5.2, 9router treats loopback requests as trusted and allows /v1/* access without an API key, so a same-host reverse proxy that forwards public traffic to the backend through 127.0.0.1 causes src/dashboardGuard.js to misclassify external requests as local. A remote unauthenticated attacker can access /v1 APIs such as /v1/models and may abuse configured upstream provider credentials through /v1 proxy endpoints depending on enabled providers. This issue is fixed in version 0.5.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;9Router is an AI router &amp;amp; token saver. Prior to 0.5.2, 9router treats loopback requests as trusted and allows /v1/* access without an API key, so a same-host reverse proxy that forwards public traffic to the backend through 127.0.0.1 causes src/dashboardGuard.js to misclassify external requests as local. A remote unauthenticated attacker can access /v1 APIs such as /v1/models and may abuse configured upstream provider credentials through /v1 proxy endpoints depending on enabled providers. This issue is fixed in version 0.5.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-56675</guid>
    </item>
    <item>
      <title>GHSA-x5c9-v98j-722r — 9router /v1 APIs has unauthenticated access via reverse proxy locality collapse</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-x5c9-v98j-722r</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: 9router&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;9router treats local loopback requests as trusted and allows access to `/v1/*` without an
API key. In a documented/common reverse-proxy deployment where nginx forwards public
traffic to the backend via `127.0.0.1`, external non-`Origin` requests are misclassified as
local. This allows unauthenticated access to `/v1` APIs such as `/v1/models`, and may allow
abuse of configured upstream provider credentials depending on the enabled providers.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;- **Affected version / commit:** 9router `v0.4.80` @ `b282f05`.
- **Deployment precondition:** a same-host reverse proxy (e.g. nginx) forwarding public
  traffic to the backend on `127.0.0.1` / `localhost`. This mirrors the documented cloud
  deployment (`proxy_pass http://localhost:20128` with `X-Real-IP` / `X-Forwarded-For`).
- **Observed behaviour:**
  - The **direct backend** (`direct-backend`, port `18081`) returns `401` for `/v1/models`
    without an API key.
  - A **direct request that spoofs** `X-9r-Real-IP: 127.0.0.1` still returns `401`: the
    custom server deletes the client-supplied header and overwrites it with the real socket
    address, so naive header spoofing does not work against the direct backend.
  - The **proxied path** (`reverse-proxy`, port `18080`) returns `200` with the full model
    catalog for the same `/v1/models` request **without any API key**.
  - A **proxied request that carries an `Origin` header** returns `401`. The bypass
    therefore primarily affects curl / SDK / server-…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: 9router&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;9router treats local loopback requests as trusted and allows access to `/v1/*` without an
API key. In a documented/common reverse-proxy deployment where nginx forwards public
traffic to the backend via `127.0.0.1`, external non-`Origin` requests are misclassified as
local. This allows unauthenticated access to `/v1` APIs such as `/v1/models`, and may allow
abuse of configured upstream provider credentials depending on the enabled providers.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;- **Affected version / commit:** 9router `v0.4.80` @ `b282f05`.
- **Deployment precondition:** a same-host reverse proxy (e.g. nginx) forwarding public
  traffic to the backend on `127.0.0.1` / `localhost`. This mirrors the documented cloud
  deployment (`proxy_pass http://localhost:20128` with `X-Real-IP` / `X-Forwarded-For`).
- **Observed behaviour:**
  - The **direct backend** (`direct-backend`, port `18081`) returns `401` for `/v1/models`
    without an API key.
  - A **direct request that spoofs** `X-9r-Real-IP: 127.0.0.1` still returns `401`: the
    custom server deletes the client-supplied header and overwrites it with the real socket
    address, so naive header spoofing does not work against the direct backend.
  - The **proxied path** (`reverse-proxy`, port `18080`) returns `200` with the full model
    catalog for the same `/v1/models` request **without any API key**.
  - A **proxied request that carries an `Origin` header** returns `401`. The bypass
    therefore primarily affects curl / SDK / server-…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-x5c9-v98j-722r</guid>
    </item>
  </channel>
</rss>
