CVE-2026-115478: obsidian-tc: Memory-lifecycle tools overwrite unowned notes or partially commit lifecycle changes
create_entity, link_entities, rename_entity, unlink_entities and delete_entity regenerate a memory note’s body from SQLite at the computed memory/<type>/<name>.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 naming that (type, name), 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.
References
- github.com/The-40-Thieves/obsidian-tc/blob/v1.31.4/CHANGELOG.md
- github.com/The-40-Thieves/obsidian-tc/commit/99f7914ca0fbeed92e7c4d39cc8c3e5830dab133
- github.com/The-40-Thieves/obsidian-tc/pull/978
- github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.31.4
- github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-r3g7-r4hr-m258
- github.com/advisories/GHSA-r3g7-r4hr-m258
- nvd.nist.gov/vuln/detail/CVE-2026-115478
Code Behaviors & Features
Detect and mitigate CVE-2026-115478 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →