Vulnerabilities

Security fix · CVE-2026-115478

obsidian-tc: Memory-lifecycle tools overwrite unowned notes or partially commit lifecycle changes

Published Oct 23, 2026 · catalog updated Oct 23, 2026 · The-40-Thieves

Last checked Oct 25, 2026. A connected source was read within the last 7 days.

Check if you run it

No confirmed exploitation is on record for CVE-2026-115478. EPSS is 0.32%. Act only if a listed version of The-40-Thieves is installed.

Gaps on this record

  • No vendor fix or required action is stored. Compare the linked advisory before you change production.

Same product and reporting

Severity
High7.1
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.32%
Remediation
Version ranges on file
Affected products
npm obsidian-tc · vendor The-40-Thieves obsidian-tc

### Summary , , , and regenerate a memory note's body from SQLite at the computed path. When a note already existed at that path and was not owned by the entity being written (a hand-authored note, or an orphan left by a different entity whose name sanitized to the same path), its entire body was overwritten on the next write naming that , keeping only its frontmatter. Separately, several of these tools inserted or removed their SQLite row before the fallible filesystem step, so a refused note write could leave a relation gone, a retired status committed, or the wrong entity deleted. ### Details - and inserted the SQL row or relation before materialization. - seeded the destination path with a direct atomic write that bypassed the ownership check, and for a status-only rename could commit a retired status with the note write refused. - removed the relation row before discovering the source note's rematerialization would be refused. - 's cascade could delete the target and its relations before a neighbour's note was found to be foreign. The overwrite exists in every released version since shipped ( ). ### Impact An authorized caller with memory-write scope (any agent using the M5 memory tools) can, without intending to, destroy the body of a vault note outside the entity it is writing, and can leave the memory graph inconsistent with the notes on disk. Snapshots-before-write ( ) mitigate the overwrite only where snapshots are enabled and the note had been written through obsidian-tc before. ### Patches Fixed in 1.31.4 at the shared primitive: refuses to write over a note whose is missing or belongs to another entity; a new pre-check runs before any SQLite mutation in the three lifecycle tools, so a refusal is a no-op; and roll back the row they had inserted. Verified by , which covers all five call sites and the rollback. ### Workarounds None that preserve the tools. Disabling the scope for callers prevents the write path entirely. ### Credit Found by the maintainer

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • npm obsidian-tc>= 1.0.1, <= 1.31.3
  • vendor The-40-Thieves obsidian-tcversion unspecified

How to fix CVE-2026-115478

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

No confirmed exploitation is on record for CVE-2026-115478. EPSS is 0.32%. Act only if a listed version of The-40-Thieves is installed.

Which versions are affected?

Compare what you have installed with >= 1.0.1, <= 1.31.3. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-459; CWE-863: Incorrect Authorization. EPSS 0.32%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 23, 2026 · GitHub Advisory Database

    Detected

    ### Summary , , , and regenerate a memory note's body from SQLite at the computed path. When a note already existed at that path and was not owned by the entity being written (a hand-authored note, or an orphan left by a different entity whose name sanitized to the same path), its entire body was overwritten on the next write naming that , keeping only its frontmatter. Separately, several of these

  2. Oct 23, 2026 · GitHub Advisory Database

    Updated

    ### Summary , , , and regenerate a memory note's body from SQLite at the computed path. When a note already existed at that path and was not owned by the entity being written (a hand-authored note, or an orphan left by a different entity whose name sanitized to the same path), its entire body was overwritten on the next write naming that , keeping only its frontmatter. Separately, several of these

Sources

  • CVE.orgVulnerability recordCVE-2026-115478

    obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. From 1.0.1 until 1.31.4, , , , and regenerate memory notes from SQLite at the computed path without reliably preserving note ownership or the consistency of a failed lifecycle operation. Dur

    cve.org
  • FIRST EPSSExploitation probabilityCVE-2026-115478

    30-day exploitation probability 0.32%

    first.org
  • GitHub Advisory DatabasePackage advisoryGHSA-r3g7-r4hr-m258

    obsidian-tc: Memory-lifecycle tools overwrite unowned notes or partially commit lifecycle changes

    github.com
  • GitLab Advisory DatabasePackage advisoryCVE-2026-115478

    create_entity, link_entities, rename_entity, unlink_entities and delete_entity regenerate a memory note's body from SQLite at the computed memory/ / .md path. When a note already existed at that path and was not owned by the entity being written (a hand-authored note, or an orphan left by a different entity whose name sanitized to the same path), its entire body was overwritten on the next write n

    advisories.gitlab.com

References

Freshness

Last verified in this catalog Oct 25, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • GitLab Advisory DatabaseOct 25, 2026
  • FIRST EPSSOct 25, 2026
  • CVE.orgOct 23, 2026
  • GitHub Advisory DatabaseOct 23, 2026