CVE-2026-115478
Tenable Plugin
Checking the public Tenable catalog…
AI Threat Summary
CVE-2026-115478 is a moderate vulnerability affecting the target software. This vulnerability allows SQL injection leading to unauthorized data access. Threat hunters should monitor for exploit attempts and apply vendor patches immediately.
Description
obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. From 1.0.1 until 1.31.4, `create_entity`, `link_entities`, `rename_entity`, `unlink_entities` and `delete_entity` regenerate memory notes from SQLite at the computed `memory/<type>/<name>.md` path without reliably preserving note ownership or the consistency of a failed lifecycle operation. During shared materialization, a hand-authored note or an orphan left by a different entity whose name sanitized to the same path could have its entire body overwritten on the next write naming that type and name, with non-owned frontmatter preserved. `rename_entity` also seeded the destination path with a direct atomic write without validating ownership and could overwrite a foreign note there. Separately, several tools mutated SQLite before fallible filesystem work: `create_entity` and `link_entities` inserted the row or relation before materialization; `rename_entity` updated the entity, including a retired status, before updating its note; `unlink_entities` removed a relation before rematerializing the source note; and `delete_entity`'s cascade removed the target and its relations before rematerializing neighbouring notes. A later filesystem failure could therefore leave a row or relation changed and the memory graph inconsistent with the notes on disk even when the operation failed. An authorized caller with the required memory-tool permissions could, without intending to, destroy the body of a vault note outside the entity being written; `delete_entity` additionally requires its deletion permission and destructive confirmation, which this memory flaw does not bypass. Snapshots-before-write through `restore_note` mitigate the overwrite only where snapshots are enabled and the note had previously been written through obsidian-tc. This issue is fixed in version 1.31.4.
Attack Chain
Attacker identifies vulnerable service instances using Shodan, Censys, or active scanning
Attacker crafts malicious payload exploiting CVE-2026-115478 to achieve remote code execution
Attacker executes arbitrary OS commands or shellcode in the context of the vulnerable process
Attacker installs backdoor, cron job, or web shell for persistent access
Attacker uses compromised host as pivot point to access internal network resources
MITRE ATT&CK Techniques
Attacker exploits the vulnerability in an internet-facing service to gain initial access
Post-exploitation shell commands executed through the vulnerability
Attacker downloads malware or tools after gaining code execution
Indicators of Compromise
| Type | Value | Description | |
|---|---|---|---|
| user_agent | Mozilla/5.0 (compatible; exploit/1.0) |
Generic exploit scanner user agent pattern | |
| url | /api/vuln-endpoint?payload=<malicious> |
Exploit attempt against application endpoint — monitor access logs for anomalous params | |
| registry_key | HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\backdoor |
Persistence mechanism after successful RCE | |
| url | ' OR 1=1-- |
Classic SQL injection payload — monitor WAF and DB query logs |
Remediation
Quick Facts
| CVE ID | CVE-2026-115478 |
| CVSS Score | N/A |
| Published | 2026-10-23 |
| Exploited | No |
| CISA KEV | No |
| PoC | Not public |
References
- https://github.com/The-40-Thieves/obsidian-tc/blob/v1.31.4/C…
- https://github.com/The-40-Thieves/obsidian-tc/commit/99f7914…
- https://github.com/The-40-Thieves/obsidian-tc/pull/978
- https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v…
- https://github.com/The-40-Thieves/obsidian-tc/security/advis…