<?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 11:52:56 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-341473</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-341473</link>
      <description>EUVD-2026-341473</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-341473</guid>
    </item>
    <item>
      <title>fkie_cve-2026-63738</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-63738</link>
      <description>&lt;p&gt;SurrealDB versions 3.1.0 before 3.1.5 fail to enforce field-level SELECT permissions when records are accessed through graph-edge or back-reference traversals. Attackers with table-level SELECT access can read field values hidden by field-level permissions by materializing records through graph traversals instead of direct table scans.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;SurrealDB versions 3.1.0 before 3.1.5 fail to enforce field-level SELECT permissions when records are accessed through graph-edge or back-reference traversals. Attackers with table-level SELECT access can read field values hidden by field-level permissions by materializing records through graph traversals instead of direct table scans.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-63738</guid>
    </item>
    <item>
      <title>GHSA-hv6h-hc26-q48p — SurrealDB: Field-level SELECT permissions bypassed via graph and reference traversals</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-hv6h-hc26-q48p</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: surrealdb&lt;/p&gt;
&lt;p&gt;A record user could read field values hidden from them by field-level SELECT permissions by reaching the records through a graph-edge (`-&amp;gt;`) or back-reference (`&amp;lt;~`) traversal instead of a direct `SELECT`.&lt;/p&gt;
&lt;p&gt;When a table was readable at the table level but carried a field hidden by a field-level permission (`DEFINE FIELD secret ON knows PERMISSIONS FOR select NONE`), a direct `SELECT * FROM knows` hid `secret` — but reaching the same records through a traversal that yields full objects — `person:bob-&amp;gt;(SELECT * FROM knows)`, `person:bob&amp;lt;~(SELECT * FROM comment)`, or a projected target vertex `-&amp;gt;knows-&amp;gt;(SELECT * FROM person)` — returned it intact.&lt;/p&gt;
&lt;p&gt;The root cause: the shared `resolve_record_batch` helper used by `GraphEdgeScan` (`FullEdge`) and `ReferenceScan` (`FullRecord`) enforced only the table-level SELECT permission and pushed raw record data, never running the field-level filtering (`build_field_state` / `filter_fields_by_permission`) that ordinary table scans and `fetch_record` apply.&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;A record user can read the values of fields hidden by field-level SELECT permissions, on tables they already hold table-level SELECT on, by materialising the records through a graph-edge, back-reference, or target-vertex traversal — recovering the values directly, for every record the traversal returns.&lt;/p&gt;
&lt;p&gt;The disclosure is confined to the field-permission layer: it grants **no unauthorised cross-table, cross-record, or cross-namespace/database access**. The table&amp;#39;s own SELECT p…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: surrealdb&lt;/p&gt;
&lt;p&gt;A record user could read field values hidden from them by field-level SELECT permissions by reaching the records through a graph-edge (`-&amp;gt;`) or back-reference (`&amp;lt;~`) traversal instead of a direct `SELECT`.&lt;/p&gt;
&lt;p&gt;When a table was readable at the table level but carried a field hidden by a field-level permission (`DEFINE FIELD secret ON knows PERMISSIONS FOR select NONE`), a direct `SELECT * FROM knows` hid `secret` — but reaching the same records through a traversal that yields full objects — `person:bob-&amp;gt;(SELECT * FROM knows)`, `person:bob&amp;lt;~(SELECT * FROM comment)`, or a projected target vertex `-&amp;gt;knows-&amp;gt;(SELECT * FROM person)` — returned it intact.&lt;/p&gt;
&lt;p&gt;The root cause: the shared `resolve_record_batch` helper used by `GraphEdgeScan` (`FullEdge`) and `ReferenceScan` (`FullRecord`) enforced only the table-level SELECT permission and pushed raw record data, never running the field-level filtering (`build_field_state` / `filter_fields_by_permission`) that ordinary table scans and `fetch_record` apply.&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;A record user can read the values of fields hidden by field-level SELECT permissions, on tables they already hold table-level SELECT on, by materialising the records through a graph-edge, back-reference, or target-vertex traversal — recovering the values directly, for every record the traversal returns.&lt;/p&gt;
&lt;p&gt;The disclosure is confined to the field-permission layer: it grants **no unauthorised cross-table, cross-record, or cross-namespace/database access**. The table&amp;#39;s own SELECT p…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-hv6h-hc26-q48p</guid>
    </item>
  </channel>
</rss>
