<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Sublinear-Time-Solver - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/sublinear-time-solver/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 25 Aug 2026 18:48:49 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/sublinear-time-solver/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Arbitrary File Write in sublinear-time-solver MCP Tools</title><link>https://feed.craftedsignal.io/briefs/2026-08-sublinear-arbitrary-file-write/</link><pubDate>Tue, 25 Aug 2026 18:48:49 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-sublinear-arbitrary-file-write/</guid><description>An arbitrary file write vulnerability (CVE-2026-55609) in consciousness-explorer and sublinear-time-solver MCP tools allows path traversal via unconstrained file paths, leading to potential system compromise.</description><content:encoded><![CDATA[<p>The vulnerability (CVE-2026-55609) stems from improper input validation within the Model Context Protocol (MCP) tool implementations for the <code>consciousness-explorer</code> and <code>sublinear-time-solver</code> packages. Specifically, the <code>export_state</code>, <code>import_state</code>, <code>saveVectorToFile</code>, and <code>loadVectorFromFile</code> tools process user-supplied <code>filepath</code> arguments by passing them directly to Node.js <code>fs.writeFileSync</code> and <code>fs.readFileSync</code> calls without sanitization.</p>
<p>This lack of path confinement enables path traversal attacks, where an attacker can supply sequences such as <code>../../</code> to escape the intended directory. Because the application processes these inputs with the privileges of the server user, an attacker can overwrite critical system files, including <code>~/.ssh/authorized_keys</code> or application binaries, facilitating privilege escalation or remote code execution. This affects <code>consciousness-explorer</code> prior to 1.1.2, <code>sublinear-time-solver</code> prior to 1.6.0, and the <code>sublinear</code> crate prior to 0.2.0.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in arbitrary file write capabilities, compromising the integrity of the server host. This poses a significant risk if the MCP server is exposed to untrusted clients, as an attacker could gain control over the host environment by overwriting configuration files or injecting malicious scripts into execution paths.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>consciousness-explorer</code> to 1.1.2 or later, <code>sublinear-time-solver</code> to 1.6.0 or later, and <code>sublinear</code> to 0.2.0 or later to apply the path-confinement and basename-only contract fixes.</li>
<li>Implement the recommended environment variables <code>CONSCIOUSNESS_EXPLORER_STATE_DIR</code> and <code>SUBLINEAR_SOLVER_VECTOR_DIR</code> to enforce state file storage in dedicated, non-sensitive directories.</li>
<li>Apply the principle of least privilege by running the MCP server under a dedicated, restricted-privilege user account.</li>
<li>Audit logs for the <code>export_state</code> and <code>import_state</code> MCP tool calls to identify attempts to supply non-basename paths or path traversal sequences.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>