← Back to Feed CACHED · 2026-08-17 01:38:25 · CACHE_KEY CVE-2026-73056
CVE-2026-73056 · CWE-307 · Disclosed 2026-08-16

SiYuan kernel versions before 3.7.4 contain an improper restriction of excessive authentication attempts…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone left the diary on the porch and removed the lock's anti-pick pins

CVE-2026-73056 affects SiYuan kernel versions before 3.7.4. The CheckAuth() middleware validates the API token (Conf.Api.Token) via Authorization header or ?token= query parameter, but neither path integrates with the built-in CAPTCHA or lockout mechanisms (NeedCaptcha / WrongAuthCount). An unauthenticated remote attacker can make unlimited guesses against the token, and if successful, gains RoleAdministrator access — enabling arbitrary file operations and SQL queries against the workspace database. A companion issue (CVE-2026-73046) affects the HTTP Basic Auth branch similarly.

The vendor's CVSS 9.8 CRITICAL rating assumes an internet-reachable instance with a weak, guessable token. That score dramatically overstates the risk for enterprise environments. SiYuan is a *personal* open-source note-taking and knowledge management app with ~45k GitHub stars — it is not enterprise infrastructure. The vast majority of its ~45,000 active installations run as local desktop apps bound to localhost, completely unreachable from the network. Only the self-hosted Docker/VPS subset is remotely exploitable, and even then, brute-forcing a sufficiently entropic token is computationally infeasible. For an enterprise fleet of 10,000 hosts, SiYuan presence is likely single-digit at best, installed ad-hoc by individual developers — not centrally managed, not on a critical path, and not holding regulated data.

"Personal note app brute-force bug dressed up as a 9.8 — most enterprises have zero exposure."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Identify internet-exposed SiYuan instance

Attacker scans for SiYuan kernel HTTP endpoints on the internet. SiYuan's kernel listens on port 6806 by default. Fingerprinting is straightforward via response headers and the /api/system/version endpoint. Only Docker/VPS self-hosted instances with open ports are reachable.
Conditions required:
  • SiYuan instance must be network-accessible (not localhost-bound desktop mode)
  • Port 6806 or reverse-proxy path must be reachable from the internet
Where this breaks in practice:
  • Default desktop installations bind to 127.0.0.1 — unreachable remotely
  • Enterprise firewalls and NAT prevent casual exposure of developer tools
  • No Shodan/Censys evidence of significant SiYuan exposure footprint
Detection/coverage: Shodan/Censys queries for SiYuan kernel fingerprint; asset inventory for port 6806
STEP 02

Brute-force the API token

Attacker sends rapid Authorization: Token <guess> requests to any /api/* endpoint. The CheckAuth() middleware compares each guess to Conf.Api.Token without rate limiting, lockout, or CAPTCHA enforcement. The comparison also uses non-constant-time string comparison, theoretically leaking timing information, though this is secondary to the rate-limiting gap.
Conditions required:
  • API token must be configured (if unset, there is no auth — a separate, worse problem)
  • Token must be short or low-entropy enough to be practically guessable
Where this breaks in practice:
  • A user-chosen token of 20+ alphanumeric characters has ~119 bits of entropy — brute force is infeasible
  • Even a 10-character alphanumeric token has ~59 bits — still impractical at network speeds
  • The attack only works against short PINs or dictionary-strength passwords used as tokens
Detection/coverage: WAF rate-limiting rules on /api/*; web server access logs showing abnormal request volume to SiYuan endpoints
STEP 03

Obtain RoleAdministrator access

With the correct token, the attacker authenticates as a full administrator. This grants access to the entire SiYuan API surface including file operations (/api/file/*), SQL queries (/api/query/sql), and system configuration endpoints. The attacker can read, modify, or delete all workspace content.
Conditions required:
  • Successful token guess from step 2
Where this breaks in practice:
  • Blast radius is limited to the SiYuan workspace — personal notes and documents
  • No lateral movement capability to other hosts or enterprise systems
  • No privilege escalation to the underlying OS unless chained with a separate RCE
Detection/coverage: Audit logs within SiYuan (if enabled); anomalous API activity patterns
STEP 04

Data exfiltration or workspace manipulation

The attacker uses admin API access to exfiltrate all notebook content, inject malicious content into shared documents, or destroy workspace data. In a team-collaboration scenario, this could affect shared knowledge base integrity. The SQL query API could also be used to dump internal metadata.
Conditions required:
  • Admin API access from step 3
Where this breaks in practice:
  • Personal note-taking data rarely contains credentials, secrets, or regulated PII in enterprise contexts
  • No pivot to domain resources, identity systems, or infrastructure
Detection/coverage: DLP monitoring on outbound traffic from the SiYuan host; file integrity monitoring
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNo evidence of active exploitation. Not listed in CISA KEV. No known campaigns targeting SiYuan brute-force.
Proof of conceptNo public PoC exploit identified as of 2026-08-17. The attack is conceptually trivial (HTTP request loop) but effectiveness depends entirely on token entropy.
EPSS scoreNot yet available — CVE disclosed 2026-08-16, EPSS model likely has not scored it yet. Expected to be low given niche attack surface.
KEV statusNot listed in CISA Known Exploited Vulnerabilities catalog.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8). Vector assumes network-reachable instance and trivially guessable token — both conditions fail in most deployments.
Affected versionsSiYuan kernel < 3.7.4 (all prior versions with API token authentication enabled)
Fixed versionSiYuan v3.7.4 — integrates CAPTCHA/lockout mechanisms into CheckAuth() token validation path
Scanning / exposure dataNo significant SiYuan footprint visible on Shodan or Censys. Default desktop installs bind to localhost. Docker/VPS deployments are a small minority of the ~45k install base.
Disclosure date2026-08-16
Related CVEsCVE-2026-73046 (same component, Basic Auth branch brute-force), CVE-2026-66012 (missing authorization in MCP endpoint, pre-3.7.2), CVE-2025-31485 (auth bypass via origin trust)
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (4.5/10)

The single most decisive downgrade factor is near-zero enterprise exposure population: SiYuan is a personal note-taking desktop app where the vast majority of installations bind to localhost, making the network attack vector unreachable. Even among the small self-hosted subset, the brute-force requires a weak/short token to succeed, and the blast radius on success is limited to personal workspace documents with no lateral movement capability.

HIGH Vulnerability mechanism (no rate limiting on CheckAuth) is confirmed by source code and multiple advisories
HIGH Desktop-localhost default binding dramatically limits reachable population
MEDIUM Brute-force feasibility depends on user-chosen token entropy, which varies
LOW Enterprise deployment statistics — no authoritative install-base data available

Why this verdict

  • Exposure population near zero: SiYuan is a personal knowledge management desktop app. Default installations bind the kernel to 127.0.0.1:6806. Only the Docker/VPS self-hosted minority are remotely reachable, and enterprise adoption is negligible — most 10,000-host fleets have zero SiYuan instances in their CMDB.
  • Token entropy kills the chain: The brute-force is only viable against short PINs or dictionary-word tokens. Any token of 12+ random alphanumeric characters (~71 bits) is computationally infeasible to guess at network speeds. The vulnerability is real but practical exploitation requires a weak token.
  • Blast radius is personal-workspace-scoped: Even full exploitation yields access to notes, documents, and workspace SQL — not OS-level access, not domain credentials, not lateral movement. There is no privilege escalation to the host OS without chaining a separate RCE vulnerability.
  • Role multiplier: SiYuan occupies *no* high-value infrastructure role. It is not a domain controller, identity provider, hypervisor, CI/CD server, backup system, or network edge appliance. It is a personal productivity tool. The worst plausible role is a team knowledge base on a single VPS, where compromise affects document integrity for that team — a bounded, tenant-scoped impact. No high-value-role floor applies.
  • No active exploitation or KEV listing: No evidence of in-the-wild use, no campaigns, no KEV entry. The CVE was disclosed yesterday (2026-08-16) with a fix already available.

Why not higher?

To warrant HIGH, the affected component would need to occupy a high-value infrastructure role or have demonstrated active exploitation. SiYuan is a personal note-taking tool with near-zero enterprise footprint, localhost-default binding, and token-entropy-dependent exploitation. The blast radius is limited to workspace documents with no lateral movement — there is no plausible path to domain compromise, fleet impact, or regulated data exposure through this vulnerability alone.

Why not lower?

The vulnerability mechanism is real and technically sound — CheckAuth() genuinely lacks rate limiting. If an organization does run an internet-exposed SiYuan instance with a weak token (e.g., a developer's personal VPS syncing work notes), the compromise is complete within that workspace. The unauthenticated-remote attack vector with no user interaction keeps this above LOW for the narrow population that is exposed.

05 · Compensating Control

What to do — in priority order.

  1. Audit for SiYuan instances on your network — Run an asset discovery scan for port 6806 and SiYuan kernel HTTP fingerprints. Most enterprises will find zero instances. If found, determine whether they are internet-exposed. No mitigation SLA applies at MEDIUM — go straight to the 365-day remediation window.
  2. Block external access to port 6806 — If any SiYuan instances are found exposed to the internet, immediately restrict access via firewall rules or reverse-proxy ACLs to trusted source IPs only. This eliminates the remote attack vector entirely.
  3. Enforce strong API tokens — If SiYuan must remain accessible, ensure the Conf.Api.Token is at least 20 random alphanumeric characters. This makes brute-force computationally infeasible regardless of the missing rate limiting.
  4. Upgrade to SiYuan v3.7.4 — The fixed version integrates CAPTCHA/lockout into the CheckAuth() path. Apply within the 365-day noisgate remediation SLA for MEDIUM findings.
What doesn't work
  • WAF rate-limiting alone — while it adds friction, a determined attacker can slow-roll guesses below WAF thresholds over days/weeks if the token is short. The real fix is strong token entropy or the vendor patch.
  • Network segmentation without token hardening — if the instance is on an internal VLAN accessible to compromised workstations, an insider or post-compromise attacker could still brute-force a weak token from within the network.
06 · Verification

Crowdsourced verification payload.

Run this on any host with network access to the SiYuan instance. Invoke with: bash check_siyuan_cve2026_73056.sh <hostname:port>. No special privileges required — it makes a single unauthenticated HTTP request to check the version.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_siyuan_cve2026_73056.sh — Check SiYuan kernel version for CVE-2026-73056
# Usage: bash check_siyuan_cve2026_73056.sh <host:port>
# Exit codes: 0=VULNERABLE, 1=PATCHED, 2=UNKNOWN

set -euo pipefail

if [ $# -lt 1 ]; then
  echo "Usage: $0 <host:port>" >&2
  echo "Example: $0 siyuan.internal:6806" >&2
  exit 2
fi

TARGET="$1"
URL="https://${TARGET}/api/system/version"

# Attempt HTTPS first, fall back to HTTP
RESPONSE=$(curl -sk --connect-timeout 5 --max-time 10 "$URL" 2>/dev/null)
if [ -z "$RESPONSE" ]; then
  URL="http://${TARGET}/api/system/version"
  RESPONSE=$(curl -s --connect-timeout 5 --max-time 10 "$URL" 2>/dev/null)
fi

if [ -z "$RESPONSE" ]; then
  echo "UNKNOWN — Could not reach SiYuan kernel at ${TARGET}"
  exit 2
fi

# Extract version from JSON response
VERSION=$(echo "$RESPONSE" | grep -oP '"data"\s*:\s*"\K[0-9]+\.[0-9]+\.[0-9]+' 2>/dev/null || true)

if [ -z "$VERSION" ]; then
  echo "UNKNOWN — Could not parse version from response: ${RESPONSE}"
  exit 2
fi

echo "Detected SiYuan kernel version: ${VERSION}"

# Compare version — vulnerable if < 3.7.4
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"

if [ "$MAJOR" -lt 3 ] || \
   { [ "$MAJOR" -eq 3 ] && [ "$MINOR" -lt 7 ]; } || \
   { [ "$MAJOR" -eq 3 ] && [ "$MINOR" -eq 7 ] && [ "$PATCH" -lt 4 ]; }; then
  echo "VULNERABLE — SiYuan ${VERSION} is affected by CVE-2026-73056 (fixed in 3.7.4)"
  exit 0
else
  echo "PATCHED — SiYuan ${VERSION} includes the fix for CVE-2026-73056"
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
For most enterprise teams managing 10,000 hosts, this CVE requires no immediate action — you almost certainly have zero SiYuan instances in your fleet. Monday morning step one: run an asset discovery scan for port 6806 to confirm. If you find exposed instances, restrict network access immediately and enforce a strong (20+ character random) API token. Per the noisgate mitigation SLA for MEDIUM findings, there is no mitigation deadline — go straight to the noisgate remediation SLA of 365 days, which means upgrading any SiYuan installations to v3.7.4 by August 2027. If you discover an internet-facing instance with a weak token, treat that specific host as an emergency — patch or isolate it the same day.

Sources

  1. TheHackerWire — SiYuan Kernel API Token Brute-Force (CVE-2026-73056)
  2. GitHub — siyuan-note/siyuan repository
  3. GitHub Security Advisories — SiYuan
  4. THREATINT — CVE-2026-73046 (companion Basic Auth brute-force)
  5. RedPacket Security — SiYuan CVE Alerts
  6. LiuYun — SiYuan Security Flaw Exposed
  7. FIRST — Exploit Prediction Scoring System (EPSS)
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.