<?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>Information_disclosure — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/information_disclosure/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/information_disclosure/feed.xml" rel="self" type="application/rss+xml"/><item><title>AVideo CloneSite Unauthenticated Information Disclosure Leading to Remote Database Dump</title><link>https://feed.craftedsignal.io/briefs/2024-01-avideo-clonesite-leak/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-avideo-clonesite-leak/</guid><description>AVideo is vulnerable to unauthenticated information disclosure via the `plugin/CloneSite/cloneClient.json.php` endpoint, which echoes the local CloneSite shared secret (`$objClone-&gt;myKey`) in HTTP responses without authentication, enabling cross-site database dumps of the configured clone server.</description><content:encoded><![CDATA[<p>AVideo, a video sharing platform, is vulnerable to an unauthenticated information disclosure flaw in its CloneSite plugin. The vulnerability resides in the <code>plugin/CloneSite/cloneClient.json.php</code> endpoint. This endpoint inadvertently echoes the local CloneSite shared secret (<code>$objClone-&gt;myKey</code>) in HTTP responses without requiring any form of authentication. This secret is intended to authenticate requests between federated AVideo instances using the CloneSite plugin. An attacker can exploit this vulnerability by simply sending a GET request to the vulnerable endpoint, obtaining the <code>myKey</code>. When the AVideo installation is federated with a remote CloneSite server, the attacker can use the leaked <code>myKey</code> to impersonate the victim client and trigger a full database dump of the remote server. This database dump includes sensitive information such as user credentials, payment records, and API keys. The vulnerability affects AVideo version 29.0 and earlier.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker sends an unauthenticated GET request to <code>https://victim.example.com/plugin/CloneSite/cloneClient.json.php</code>.</li>
<li>The AVideo server echoes the local <code>$objClone-&gt;myKey</code> within the HTTP response body due to a flawed error message construction.</li>
<li>The attacker extracts the leaked <code>$objClone-&gt;myKey</code> from the response.</li>
<li>The attacker crafts a malicious request to the remote CloneSite server (<code>https://remote-server.example.com/plugin/CloneSite/cloneServer.json.php</code>) using the leaked <code>$objClone-&gt;myKey</code> and the victim&rsquo;s URL.</li>
<li>The remote CloneSite server validates the attacker&rsquo;s request using the provided key, successfully authenticating the attacker as the victim client.</li>
<li>The remote server executes a <code>mysqldump</code> command, dumping the entire database (excluding <code>CachesInDB</code>) to a publicly accessible directory (<code>videos/clones/</code>).</li>
<li>The attacker retrieves the database dump from the remote server via an unauthenticated HTTP GET request to <code>https://remote-server.example.com/videos/clones/Clone_mysqlDump_*.sql</code>.</li>
<li>The attacker analyzes the database dump, gaining access to sensitive information such as user credentials, payment records, and API keys.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows any unauthenticated attacker to retrieve the CloneSite shared secret (<code>myKey</code>) of any AVideo installation with the CloneSite plugin enabled. When the affected installation is federated with a remote CloneSite server, the attacker can impersonate the victim client and trigger a full database dump of the remote server containing sensitive data. This can lead to the compromise of user accounts, financial information, and sensitive plugin configurations on the remote server. This vulnerability permits unauthorized access to critical data, potentially resulting in severe data breaches and financial losses.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the recommended fix by not echoing the expected key in the rejection message within <code>plugin/CloneSite/cloneClient.json.php</code>, and reject non-CLI / non-admin callers cleanly, as detailed in the overview (see code snippet in advisory).</li>
<li>Implement the additional hardening recommendations, including replacing the static <code>myKey</code> with a randomly generated, per-installation key stored in the plugin configuration that can be rotated.</li>
<li>On the remote side (<code>cloneServer.json.php</code>), consider requiring the <code>sqlFile</code> path to be unguessable (already is, via <code>uniqid()</code>) AND gating the dump behind an IP allowlist or an additional pre-shared rotating token.</li>
<li>Serve <code>videos/clones/</code> with an <code>.htaccess</code>/nginx rule that denies direct HTTP access, so that even if a rogue client is authenticated, the dump is not downloadable over the web.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>avideo</category><category>information_disclosure</category><category>database_dump</category></item></channel></rss>