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

Source: https://junglewise.ai/threats/cve-2026-123492-siyuan-before-3-8-9-contains-a-nil-pointer-dereference  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-06. Updated: 2026-11-06  
License: CC BY 4.0 with a link back

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](https://junglewise.ai/threats/technologies/b3log-siyuan). Vendors: [B3log](https://junglewise.ai/threats/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

- [https://github.com/siyuan-note/siyuan/security/advisories/GHSA-2x3p-x74g-442x](https://github.com/siyuan-note/siyuan/security/advisories/GHSA-2x3p-x74g-442x)
- [https://www.vulncheck.com/advisories/siyuan-before-3.8.9-nil-pointer-dereference-dos-via-mcp-resources-read](https://www.vulncheck.com/advisories/siyuan-before-3.8.9-nil-pointer-dereference-dos-via-mcp-resources-read)

## Related threats

- [SiYuan is self-hosted, open source personal knowledge management software. In versions 3.5.1 and prior, the SiYuan…](https://junglewise.ai/threats/cve-2025-68948-siyuan-is-self-hosted-open-source-personal-knowledge-management)
- [GO-2025-4221 - SiYuan: ZipSlip -> Arbitrary File Overwrite -> RCE in github.com/siyuan-note/siyuan/kernel](https://junglewise.ai/threats/cve-2025-67488-siyuan-zipslip-arbitrary-file-overwrite-rce)
