<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-07T08:08:40.401604+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-365250</id>
    <title>EUVD-2026-365250</title>
    <updated>2026-10-07T08:08:40.447432+00:00</updated>
    <content>EUVD-2026-365250</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-365250"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-53603</id>
    <title>fkie_cve-2026-53603</title>
    <updated>2026-10-07T08:08:40.447476+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-53603"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-q4vm-pq3q-8wgq</id>
    <title>GHSA-q4vm-pq3q-8wgq — nebula-mesh: Operator session tokens stored in plaintext in the database</title>
    <updated>2026-10-07T08:08:40.447534+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/forgekeep/nebula-mesh</p>
<p>## Impact</p>
<p>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.</p>
<p>- `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.</p>
<p>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.</p>
<p>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.</p>
<p>## Patches</p>
<p>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.</p>
<p>Sessions are ephemeral (24h TTL), so all active sessions can be invalidated on deployment — n…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-q4vm-pq3q-8wgq"/>
  </entry>
</feed>
