<?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/"><channel><title>OpenList/V4 &lt;= 4.2.3 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/openlist/v4--4.2.3/</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>Fri, 24 Jul 2026 22:34:55 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/openlist/v4--4.2.3/feed.xml" rel="self" type="application/rss+xml"/><item><title>OpenList Path Traversal Vulnerability Allows Renaming Files Outside Authorized Paths</title><link>https://feed.craftedsignal.io/briefs/2026-07-openlist-path-traversal/</link><pubDate>Fri, 24 Jul 2026 22:34:55 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-openlist-path-traversal/</guid><description>An authenticated user with rename permissions in OpenList/v4 is vulnerable to a path traversal flaw (GHSA-95cv-r8x4-vh75) in the `/api/fs/batch_rename` handler, allowing them to rename files outside their authorized base path and source directory by injecting traversal segments in the `src_name` parameter, leading to integrity violations and limited availability impact.</description><content:encoded><![CDATA[<p>A high-severity path traversal vulnerability (GHSA-95cv-r8x4-vh75) has been identified in OpenList/v4, specifically affecting versions up to and including 4.2.3. The flaw resides within the <code>/api/fs/batch_rename</code> handler, which is responsible for batch file renaming operations. The vulnerability stems from insufficient validation of the <code>src_name</code> parameter in the HTTP POST request body. While the <code>new_name</code> parameter is properly checked for path separators, <code>src_name</code> is not, allowing an authenticated user with rename permissions to supply directory traversal segments (e.g., <code>../../</code>) within <code>src_name</code>. This enables the attacker to manipulate the final source path to rename files located outside their designated base path and authorized <code>src_dir</code>, bypassing intended access controls and affecting other users' data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated user with file <code>rename</code> permissions crafts an HTTP POST request targeting the <code>/api/fs/batch_rename</code> endpoint.</li>
<li>The request's JSON body specifies a <code>src_dir</code> (e.g., <code>/writable</code>) that is within the user's legitimately authorized base path (e.g., <code>/team/a</code>).</li>
<li>Within the <code>rename_objects</code> array in the JSON payload, the user sets the <code>src_name</code> parameter to include directory traversal segments (e.g., <code>../../ab/secret.txt</code>).</li>
<li>The <code>FsBatchRename</code> handler processes the request but fails to adequately validate the <code>src_name</code> parameter for path traversal sequences.</li>
<li>OpenList concatenates the provided <code>src_dir</code> and the attacker-controlled <code>src_name</code> to construct a full source path (e.g., <code>/team/a/writable/../../ab/secret.txt</code>).</li>
<li>Lower-level filesystem path normalization functions resolve these traversal segments, resulting in a final, absolute source path (e.g., <code>/team/ab/secret.txt</code>) that unexpectedly escapes the user's authorized directory.</li>
<li>The application proceeds to rename the file located at this normalized, out-of-scope path (<code>/team/ab/secret.txt</code>) to the specified <code>new_name</code> (e.g., <code>renamed.txt</code>), thereby performing an unauthorized file modification.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows an authenticated user to violate the integrity of other users' files by renaming them outside their authorized scope. In a multi-user OpenList deployment, a user confined to a specific base path (e.g., <code>/team/a</code>) can rename sibling files (e.g., <code>/team/ab/secret.txt</code>) belonging to other users. This can lead to limited availability, as crucial files may be moved from their expected locations, disrupting operations. Furthermore, by observing success or error responses from such rename attempts, an attacker could potentially confirm the existence of guessed files outside their base path, aiding in reconnaissance.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritize applying the security patch for OpenList/v4 to address GHSA-95cv-r8x4-vh75 immediately. Implement robust validation for the <code>renameObject.SrcName</code> parameter within the <code>/api/fs/batch_rename</code> handler by applying the same <code>checkRelativePath</code> constraints currently used for <code>renameObject.NewName</code>. Alternatively, ensure that source objects are derived exclusively from a trusted directory listing of <code>reqPath</code>.</p>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>authenticated-bypass</category><category>integrity-violation</category><category>web-application</category></item></channel></rss>