GHSA-cvp8-vvgf-69q4: Infoleak

Published Oct 23, 2026
·
Updated

Impact With a default configuration, an undefined readPaths/writePaths meant allow-all, the strictReadDefault flag was inert, and the .obsidian/.git/.trash control directories were denied only during enumeration — not on the direct request path. A caller could read .obsidian/plugins//data.json, exfiltrating plugin API keys and Obsidian Sync passwords (live-reproduced), as well as any other in-vault file by path.

Patches Fixed in 1.3.1. Upgrade to >= 1.3.1. The default now denies .obsidian/.git/.trash on read/write/delete and honors strictReadDefault on the request path.

Workarounds Set an explicit readPaths/writePaths whitelist that excludes the control directories.

Affected Software

1 affected componentFixes available
npm/obsidian-tc<1.3.1
1.3.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/obsidian-tc to a version that resolves this vulnerability.

    Fixed in 1.3.1
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 1.3.1
  3. Configuration

    Set explicit readPaths and writePaths whitelists that exclude the .obsidian, .git, and .trash control directories.

    readPaths/writePaths = Explicit whitelist excluding .obsidian, .git, and .trash

Event History

Oct 23, 2026
Advisory Published
via GitHub·05:28 PM
Data Sourced
via GitHub·05:28 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who is exposed to this issue?

Deployments using the default configuration are exposed because undefined readPaths and writePaths allowed all paths. The issue affects access to files within an Obsidian vault, including control directories.

2

What access does an attacker need to exploit it?

An attacker needs low-privileged access to make requests to the affected service. No user interaction is required, and they can directly request vault paths that were only blocked during directory enumeration.

3

What sensitive data could be obtained?

An attacker could read .obsidian/plugins/*/data.json files and exfiltrate plugin API keys and Obsidian Sync passwords. Other in-vault files could also be read by path.

4

How can the issue be mitigated if upgrading is not immediately possible?

Set explicit readPaths and writePaths whitelists that exclude .obsidian, .git, and .trash control directories. This avoids the allow-all behavior caused by undefined path settings.

5

What version fixes the issue?

Upgrade npm/obsidian-tc to version 1.3.1 or later. The fix denies the control directories for read, write, and delete operations and applies strictReadDefault on the request path.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203