<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T23:58:45.744972+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/fkie_cve-2026-74904</id>
    <title>fkie_cve-2026-74904</title>
    <updated>2026-10-03T23:58:45.803062+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>SiYuan before v3.7.4 is missing authorization checks in 17 block metadata/content endpoints in kernel/api/block.go (including getRefText, checkBlockExist, and getBlockBreadcrumb). These handlers are gated only by basic authentication (model.CheckAuth) and lack publish-access filtering, allowing anonymous publish-mode readers to disclose private block content-derived text, structural metadata, and existence information for arbitrary block IDs across the workspace.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-74904"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-4vpg-gwqq-w44c</id>
    <title>GHSA-4vpg-gwqq-w44c — SiYuan: 17 block metadata/content endpoints in kernel/api/block.go have zero publish-access filtering, reachable by ano…</title>
    <updated>2026-10-03T23:58:45.803191+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/siyuan-note/siyuan/kernel</p>
<p>Same CWE-862 family, found via an automated bulk sweep of every
`/api/block/*` handler in `kernel/api/block.go` for the presence of any
access-check reference (`IsReadOnlyRoleContext`, `checkBlockPublishAccess`,
`GetPublishAccess`) anywhere in the function body. 17 of 28 candidate
endpoints have none. Cross-checked against the file's own sibling
functions (`getBlockInfo`, `getBlockDOM`, `getRefIDs`, etc.), which
correctly implement the check, confirming this is a real, uneven gap
rather than a deliberate design choice for the whole file.</p>
<p>### Summary
17 handlers in `kernel/api/block.go`, all gated only by `model.CheckAuth`
with no admin-role requirement, return block content-derived text,
structural metadata, or existence information for any block ID supplied,
with no access check anywhere in the handler or, for the ones checked in
detail, the model functions they call. This is CWE-862 (Missing
Authorization), the same class as the companion advisories from this
review round, found in a different file via a systematic bulk check
rather than manual inspection of each function individually.</p>
<p>### Details
Confirmed via automated extraction of every function body between
`func NAME(c *gin.Context) {` and the next such declaration, then
searching each for any of `IsReadOnlyRoleContext`,
`checkBlockPublishAccess`, `GetPublishAccess`, or `PublishAccess`. The
following contain none of these, at all:</p>
<p>| Endpoint | What it discloses |
|---|---|
| `getRefText` | The block's actual refe…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-4vpg-gwqq-w44c"/>
  </entry>
</feed>
