FICHE CVE

CVE-2026-115478

Publiée le 2026-10-23 · Dernière modification le 2026-10-23

🇫🇷 EN BREF

Obsidian-tc (versions 1.0.1 à 1.31.3) est un serveur Model Context Protocol utilisé pour intégrer des coffres Obsidian à des agents d'IA. Le logiciel contient des erreurs de logique dans la gestion des chemins de fichiers et des mises à jour de la base de données SQLite lors de la création, du renommage ou de la suppression d'entités. Plus précisément, il ne vérifie pas correctement la propriété des notes et met à jour la base de données avant de confirmer que les modifications du système de fichiers ont réussi.

Un attaquant disposant d'un accès autorisé de bas niveau aux outils de mémoire peut écraser le contenu de notes arbitraires dans le coffre, compromettant ainsi l'intégrité des données. Cela peut se produire via un accès réseau sans nécessiter d'interaction supplémentaire de l'utilisateur. Bien que cette vulnérabilité permette la destruction accidentelle ou intentionnelle du corps des notes, elle ne contourne pas la confirmation de suppression spécifique requise pour l'outil de suppression d'entités.

CVSS 4.07.1 ÉLEVÉE
Publiée2026-10-23
Dernière modification2026-10-23

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Prérequis d'attaqueAucun
Privilèges requisFaibles
Interaction utilisateurAucune
Confidentialité (système vulnérable)Aucune
Intégrité (système vulnérable)Élevée
Disponibilité (système vulnérable)Faible
Confidentialité (système subséquent)Aucune
Intégrité (système subséquent)Aucune
Disponibilité (système subséquent)Aucune

RÉFÉRENCES

Description officielle du NVD (en anglais)

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.