<?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>Wed, 07 Oct 2026 01:58:11 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-365250</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-365250</link>
      <description>EUVD-2026-365250</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-365250</guid>
    </item>
    <item>
      <title>fkie_cve-2026-53603</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-53603</link>
      <description>&lt;p&gt;nebula-mesh is a self-hosted control plane for Slack Nebula mesh VPN. Prior to version 0.3.8, Operator session tokens are stored in plaintext in the operator_sessions table (the token column is the PRIMARY KEY). The session token is a 32-byte random hex value sent directly in a cookie and valid for 24 hours. Anyone who can read the database (backup, snapshot, file copy, or SQL-level disclosure) obtains every active session token and can hijack operator sessions directly, with no further authentication. This issue has been patched in version 0.3.8.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;nebula-mesh is a self-hosted control plane for Slack Nebula mesh VPN. Prior to version 0.3.8, Operator session tokens are stored in plaintext in the operator_sessions table (the token column is the PRIMARY KEY). The session token is a 32-byte random hex value sent directly in a cookie and valid for 24 hours. Anyone who can read the database (backup, snapshot, file copy, or SQL-level disclosure) obtains every active session token and can hijack operator sessions directly, with no further authentication. This issue has been patched in version 0.3.8.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-53603</guid>
    </item>
    <item>
      <title>GHSA-q4vm-pq3q-8wgq — nebula-mesh: Operator session tokens stored in plaintext in the database</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-q4vm-pq3q-8wgq</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/forgekeep/nebula-mesh&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Operator session tokens are stored in plaintext in the `operator_sessions` table (the `token` column is the PRIMARY KEY). The session token is a 32-byte random hex value sent directly in a cookie and valid for 24 hours.&lt;/p&gt;
&lt;p&gt;- `internal/models/operator.go:61` — `OperatorSession.Token` holds the plaintext token.
- `internal/store/sqlite_operators.go:590` — `CreateOperatorSession` inserts `sess.Token` verbatim.
- `internal/store/sqlite_operators.go:603,642,681,698` — lookups/updates/deletes use `WHERE token = ?` against the plaintext value.&lt;/p&gt;
&lt;p&gt;Anyone who can read the database (backup, snapshot, file copy, or SQL-level disclosure) obtains every active session token and can hijack operator sessions directly, with no further authentication.&lt;/p&gt;
&lt;p&gt;This is functionally identical to the plaintext enrollment-token issue fixed in GHSA-ghmh-jhmj-wcmf. API keys (`OperatorAPIKey.KeyHash`) and enrollment tokens (`EnrollmentToken.TokenHash`) already store only a SHA256 hash; session tokens were missed.&lt;/p&gt;
&lt;p&gt;## Patches&lt;/p&gt;
&lt;p&gt;Store only a SHA256 hash of the session token, mirroring API keys and enrollment tokens:
1. Add a `HashSessionToken` helper (alongside the existing token-hash helpers).
2. Migration to add a `token_hash` column.
3. Update `CreateOperatorSession`, `PromoteOperatorSession`, and `GetOperatorBySession` to write/look up by hash.
4. Drop the plaintext `token` column in a follow-up migration.&lt;/p&gt;
&lt;p&gt;Sessions are ephemeral (24h TTL), so all active sessions can be invalidated on deployment — n…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/forgekeep/nebula-mesh&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Operator session tokens are stored in plaintext in the `operator_sessions` table (the `token` column is the PRIMARY KEY). The session token is a 32-byte random hex value sent directly in a cookie and valid for 24 hours.&lt;/p&gt;
&lt;p&gt;- `internal/models/operator.go:61` — `OperatorSession.Token` holds the plaintext token.
- `internal/store/sqlite_operators.go:590` — `CreateOperatorSession` inserts `sess.Token` verbatim.
- `internal/store/sqlite_operators.go:603,642,681,698` — lookups/updates/deletes use `WHERE token = ?` against the plaintext value.&lt;/p&gt;
&lt;p&gt;Anyone who can read the database (backup, snapshot, file copy, or SQL-level disclosure) obtains every active session token and can hijack operator sessions directly, with no further authentication.&lt;/p&gt;
&lt;p&gt;This is functionally identical to the plaintext enrollment-token issue fixed in GHSA-ghmh-jhmj-wcmf. API keys (`OperatorAPIKey.KeyHash`) and enrollment tokens (`EnrollmentToken.TokenHash`) already store only a SHA256 hash; session tokens were missed.&lt;/p&gt;
&lt;p&gt;## Patches&lt;/p&gt;
&lt;p&gt;Store only a SHA256 hash of the session token, mirroring API keys and enrollment tokens:
1. Add a `HashSessionToken` helper (alongside the existing token-hash helpers).
2. Migration to add a `token_hash` column.
3. Update `CreateOperatorSession`, `PromoteOperatorSession`, and `GetOperatorBySession` to write/look up by hash.
4. Drop the plaintext `token` column in a follow-up migration.&lt;/p&gt;
&lt;p&gt;Sessions are ephemeral (24h TTL), so all active sessions can be invalidated on deployment — n…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-q4vm-pq3q-8wgq</guid>
    </item>
  </channel>
</rss>
