Skip to content
Heist/ feed
Back to feed
High

sublinear-time-solver: Arbitrary file write in consciousness-explorer / sublinear-time-solver MCP export_state

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-55609
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 01:14 UTC · Revision 1

Source evidence

sublinear-time-solver: Arbitrary file write in consciousness-explorer / sublinear-time-solver MCP export_state

core-osv · Original source

Published 25 Aug 2026, 18:34 UTC

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.

osv:CVE-2026-55609
Complete source record
{
  "id": "41d759a9078b314709f14aed99224d4d5afe87e0b5edfe30cbc563cdd3924590",
  "url": "https://osv.dev/vulnerability/CVE-2026-55609",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "sublinear-time-solver: Arbitrary file write in consciousness-explorer / sublinear-time-solver MCP export_state",
    "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.",
    "evidence": "osv:CVE-2026-55609",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-55609",
      "aliases": [
        "CVE-2026-55609",
        "GHSA-xc9g-j69q-37xw"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/ruvnet/sublinear-time-solver",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "f31a20609a6fd40ffdaead4c64c11aa2d76a1039"
                },
                {
                  "fixed": "a701296e363192be863e79d788fa268095e3d229"
                },
                {
                  "fixed": "ea9a212b69e4449ec443fe088a7aec7546f70b4a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.6.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a701296e363192be863e79d788fa268095e3d229"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ea9a212b69e4449ec443fe088a7aec7546f70b4a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f31a20609a6fd40ffdaead4c64c11aa2d76a1039"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.6.0"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55609.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.825761164Z",
      "provider": "osv",
      "references": [
        "https://github.com/ruvnet/sublinear-time-solver/releases/tag/v1.6.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55609.json",
        "https://github.com/ruvnet/sublinear-time-solver/security/advisories/GHSA-xc9g-j69q-37xw",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-55609",
        "https://github.com/BruceJqs/public_exp/issues/32",
        "https://github.com/ruvnet/sublinear-time-solver/issues/19",
        "https://github.com/ruvnet/sublinear-time-solver/commit/a701296e363192be863e79d788fa268095e3d229",
        "https://github.com/ruvnet/sublinear-time-solver/commit/ea9a212b69e4449ec443fe088a7aec7546f70b4a",
        "https://github.com/ruvnet/sublinear-time-solver/pull/20"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-73"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55609.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-55609",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513762,
  "published_at": "2026-08-25T18:34:47.633+00:00"
}