PT-2026-82010 · Npm · Consciousness-Explorer+1
Publicado
2026-08-25
·
Atualizado
2026-08-25
CVSS v3.1
7.1
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
Impact
An arbitrary file write vulnerability (CWE-73, External Control of File Name or Path) exists in the
consciousness-explorer component of sublinear-time-solver. The MCP export state (and import state) tool accepted a user-supplied filepath argument and passed it directly to fs.writeFileSync / fs.readFileSync without constraining the destination or rejecting path traversal. 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.The same sink class was present in the main solver MCP server (
saveVectorToFile / loadVectorFromFile).Affected versions
consciousness-explorer< 1.1.2sublinear-time-solver< 1.6.0sublinear(crates.io) < 0.2.0
Patches
consciousness-explorer@1.1.2sublinear-time-solver@1.6.0sublinear@0.2.0
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 with O NOFOLLOW | O CLOEXEC mode 0o600. Covered by 14 regression tests in tests/consciousness/safe-path.test.mjs.Breaking change: callers must now pass a basename, not an absolute path.
Workarounds
Do not expose the MCP server to untrusted clients; restrict
export state to trusted local users; run the server under a low-privilege account with a restricted working directory.Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Consciousness-Explorer
Sublinear-Time-Solver