CVE-2026-55609 json
sublinear-time-solver: Arbitrary file write in consciousness-explorer / sublinear-time-solver MCP export_state
published 2026-08-25 2 mo ago modified 2026-09-09 1 mo ago also GHSA-xc9g-j69q-37xw , EUVD-2026-65706
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
sublinear-time-solver is a Rust and WebAssembly library for solving asymmetric diagonally dominant systems in sublinear time. Prior to consciousness-explorer 1.1.2 and sublinear-time-solver 1.6.0, the export_state and import_state tools in src/consciousness-explorer/mcp/server.js pass the attacker-controlled filepath parameter to filesystem operations in src/consciousness-explorer/index.js without restricting the destination or rejecting traversal. The saveVectorToFile and loadVectorFromFile tools in src/mcp/server.ts contain the same sink class through the file_path parameter. An attacker able to invoke the MCP tools can read, write, or overwrite any file accessible to the server process, causing confidentiality and integrity loss and possible service disruption. This issue is fixed in consciousness-explorer 1.1.2 and sublinear-time-solver 1.6.0.
Patch / fix
- npm consciousness-explorer 1.1.2
- npm sublinear-time-solver 1.6.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/BruceJqs/public_exp/issues/32 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/ruvnet/sublinear-time-solver/issues/19 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | consciousness-explorer | <1.1.2 |
1.1.2 |
| npm | sublinear-time-solver | <1.6.0 |
1.6.0 |
Affected products
- ruvnet sublinear-time-solver
Classification
- Weakness
-
- CWE-73 External Control of File Name or Path
References
-
github.com
/ruvnet/sublinear-time-solver/pull/20
web
-
github.com
/ruvnet/sublinear-time-solver/commit/a701296e363192be863e79d788fa268095e3d229
web
-
github.com
/ruvnet/sublinear-time-solver/commit/ea9a212b69e4449ec443fe088a7aec7546f70b4a
web
-
github.com
/BruceJqs/public_exp/issues/32
exploit, web
-
github.com
/ruvnet/sublinear-time-solver/issues/19
exploit, web
-
github.com
/ruvnet/sublinear-time-solver/security/advisories/GHSA-xc9g-j69q-37xw
web
-
github.com
/ruvnet/sublinear-time-solver/releases/tag/v1.6.0
web
-
github.com
/ruvnet/sublinear-time-solver
package
Sources
- CVE List CVE-2026-55609
- GitHub Advisory GHSA-xc9g-j69q-37xw
- NVD CVE-2026-55609
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.