CVE-2026-123492: SiYuan nil pointer dereference in MCP privateCacheMiddleware

CVE-2026-123492 · Severity: medium · CVSS 4.9 · Published 2026-11-06

SiYuan is a note-taking application with an embedded kernel that supports the Model Context Protocol (MCP) for external integrations. An authenticated attacker with a valid API token can crash the kernel by sending a resources/read request for a nonexistent resource, causing service interruption and potential data loss if unsaved edits exist.

Technologies: B3log Siyuan. Vendors: B3log.

Quick answers

Is CVE-2026-123492 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-123492 being exploited in the wild.
How severe is CVE-2026-123492?
Medium severity, with a CVSS score of 4.9, published 6 November 2026.
Which products and versions are affected?
B3log Siyuan before 3.8.9.
Is there a fix for CVE-2026-123492?
Yes: fixed in 3.8.9. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-123492 attacked?
It is attacked over the network, in a hosted service.
Am I affected by CVE-2026-123492?
Check whether you run B3log Siyuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: 3.8.9

Technical details

The privateCacheMiddleware in kernel/mcp/server.go performs an unchecked type switch on MCP result pointers and dereferences them without verifying they are non-nil. When resources/read is called with an unregistered URI, go-sdk v1.8.0 returns a typed nil pointer (*ReadResourceResult) with an error; the middleware then dereferences this nil pointer in the case branch, triggering a panic that crashes the kernel process.

Affected products

  • b3log SiYuan before 3.8.9

Timeline

  • 2026-10-22: disclosed
  • 2026-11-06: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.