CVE-2026-115478 obsidian-tc: Memory-lifecycle tools overwrite unowned notes or partially commit lifecycle changes
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-115478?
CVE-2026-115478 is a high-severity vulnerability in The-40-Thieves obsidian-tc, published on 23 Oct 2026.
Official 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.
Which versions are affected by CVE-2026-115478?
2 open source packages ship an affected version, including obsidian-tc.
| Package | Affected | Fixed in |
|---|---|---|
obsidian-tc npm | From 1.0.1 | 1.31.4 |
obsidian-tc npm | From 1.0.1 | 1.31.4 |
How do I fix CVE-2026-115478?
Upgrade obsidian-tc to 1.31.4 or later.
Is CVE-2026-115478 being exploited?
There is no known exploitation of CVE-2026-115478 in the wild and no public exploit code.
Sources
Also known as GHSA-r3g7-r4hr-m258.