consciousness-explorer / sublinear-time-solver MCP export_state has an arbitrary file write
- Product
- consciousness-explorer, sublinear-time-solver, sublinear
- CVE
- CVE-2026-55609
- Affected
- consciousness-explorer < 1.1.2, sublinear-time-solver < 1.6.0, sublinear (crates.io) < 0.2.0
- Fixed in
- consciousness-explorer@1.1.2, sublinear-time-solver@1.6.0, sublinear@0.2.0
Last verified against sources: October 26, 2026
Am I affected?
consciousness-explorer, sublinear-time-solver, sublinear: affected consciousness-explorer < 1.1.2, sublinear-time-solver < 1.6.0, sublinear (crates.io) < 0.2.0. Fixed in consciousness-explorer@1.1.2, sublinear-time-solver@1.6.0, sublinear@0.2.0.
- Check your version: run
npm ls consciousness-explorer. Versions < 1.1.2 of consciousness-explorer are affected. [1] - Check your version: run
npm ls sublinear-time-solver. Versions < 1.6.0 of sublinear-time-solver are affected. [1]
What to do now
- Upgrade to the fixed version: run
npm install consciousness-explorer@1.1.2(first patched version 1.1.2). [1] - Upgrade to the fixed version: run
npm install sublinear-time-solver@1.6.0(first patched version 1.6.0). [1] - Do not expose the MCP server to untrusted clients; restrict
export_stateto trusted local users; run the server under a low-privilege account with a restricted working directory. [1] - Callers must now pass a basename, not an absolute path. [1]
General practice, not from the source: if the affected software could read tokens or credentials, rotate them after upgrading; pin versions and review changes before updating tools your agents run.
What happened
- An arbitrary file write vulnerability (CWE-73, External Control of File Name or Path) exists in the
consciousness-explorercomponent ofsublinear-time-solver. [1] - The MCP
export_state(andimport_state) tool accepted a user-suppliedfilepathargument and passed it directly tofs.writeFileSync/fs.readFileSyncwithout constraining the destination or rejecting path traversal. [1] - The same sink class was present in the main solver MCP server (
saveVectorToFile/loadVectorFromFile). [1]
Impact
- An attacker able to invoke the MCP tool could write or overwrite any file accessible to the server process (e.g.
~/.ssh/authorized_keys, application files), leading to integrity loss and potential service disruption. [1]
What was done
- Patches:
consciousness-explorer@1.1.2,sublinear-time-solver@1.6.0,sublinear@0.2.0. [1] - State/vector files are now confined to a dedicated directory (overridable via
$CONSCIOUSNESS_EXPLORER_STATE_DIR/$SUBLINEAR_SOLVER_VECTOR_DIR), a basename-only contract is enforced (rejecting separators,.., NUL/control chars, hidden files, and Windows reserved names), and files are opened withO_NOFOLLOW | O_CLOEXECmode0o600. [1] - **Breaking change:** callers must now pass a basename, not an absolute path. [1]
- Covered by 14 regression tests in
tests/consciousness/safe-path.test.mjs. [1]
Sources
- GHSA-xc9g-j69q-37xw — GitHub Advisory Database
Every statement above was checked against these sources before publishing. Spotted an error? Tell us and we will correct it with a dated note.
Share advisory brief with your team
Copy a plain-text summary for Slack, GitHub issues, or team security channels.
[CVE-2026-55609] consciousness-explorer / sublinear-time-solver MCP export_state has an arbitrary file write
Product: consciousness-explorer, sublinear-time-solver, sublinear | Affected: consciousness-explorer < 1.1.2, sublinear-time-solver < 1.6.0, sublinear (crates.io) < 0.2.0 | Fixed in: consciousness-explorer@1.1.2, sublinear-time-solver@1.6.0, sublinear@0.2.0
Summary: An arbitrary file write vulnerability (CWE-73, External Control of File Name or Path) exists in the `consciousness-explorer` component of `sublinear-time-solver`.
Source & remediation on AgentArmorHQ: https://agentarmorhq.com/incidents/2026/08/cve-2026-55609-consciousness-explorer-sublinear-time-solver-sublinearCorrections
Report an error or request a correction. We review requests within 5 business days and add a dated correction note.
Discussions for CVE-2026-55609
Ask questions or share configuration tips. Governed by our Community Rules & Terms.
No posts match this filter yet.
Be the first to ask a question or share a working tip.