<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Impersonate user privilege escalation]]></title><description><![CDATA[<p dir="auto">Note: I haven't tested this method yet as I am not sure which Apps already have the Docker addon, but making a custom one and installing it via the CLI after taking over the admin account with the temp password would be simple enough.</p>
<p dir="auto">I was just reading the <a href="https://cloudron.io/documentation/user-management/#impersonate-user" target="_blank" rel="noopener noreferrer nofollow ugc">documentation on how to do user impersonation</a> and it appears that you only need access to write to <code>/tmp</code>. This is something that any non-privileged Unix user can write to.</p>
<p dir="auto">Theoretically, a normal user could do this to gain access to an Admin user and then be able to modify users or gain access to user information. They could also install an app with <a href="https://cloudron.io/documentation/custom-apps/addons/#docker" target="_blank" rel="noopener noreferrer nofollow ugc">privileged access to the Docker socket</a> and then use that to gain access to the machine by starting a container as root with access to the root filesystem. Eg. <code>docker run -it -v /:/host ubuntu</code></p>
]]></description><link>https://forum.cloudron.io/topic/2222/impersonate-user-privilege-escalation</link><generator>RSS for Node</generator><lastBuildDate>Wed, 10 Jun 2026 15:30:21 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/2222.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Mar 2020 18:28:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Impersonate user privilege escalation on Mon, 30 Mar 2020 18:12:52 GMT]]></title><description><![CDATA[<p dir="auto">Thanks <a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a>!</p>
]]></description><link>https://forum.cloudron.io/post/6813</link><guid isPermaLink="true">https://forum.cloudron.io/post/6813</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Mon, 30 Mar 2020 18:12:52 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Mon, 30 Mar 2020 03:33:29 GMT]]></title><description><![CDATA[<p dir="auto">Just to follow up on this. Now that we have <code>owner</code> role in Cloudron 5, install/update/repair/exec of apps that use the docker addon is restricted to <code>owner</code> in 5.1. This then means that an admin cannot get access to some shell and access docker and hijack the system.</p>
<p dir="auto">On a technical note, docker is accessed by apps via proxy. This proxy verifies that only apps that request the docker addon can access the docker API. The proxy also ensures that random volumes cannot be mounted (only <code>/app/data</code> of the app can be volume mounted).</p>
]]></description><link>https://forum.cloudron.io/post/6803</link><guid isPermaLink="true">https://forum.cloudron.io/post/6803</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 30 Mar 2020 03:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Sun, 15 Mar 2020 23:18:52 GMT]]></title><description><![CDATA[<p dir="auto">Our bad that we don't have any specific guidelines to report security issues. We will add this to our site. In the meantime:</p>
<ul>
<li>Write to <a href="mailto:support@cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">support@cloudron.io</a></li>
<li>Alternately, you can open a "confidential" issue in <a href="https://git.cloudron.io/cloudron/box/issues" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/cloudron/box/issues</a> (this does require you to register in our gitlab and enable 2FA).</li>
</ul>
]]></description><link>https://forum.cloudron.io/post/6510</link><guid isPermaLink="true">https://forum.cloudron.io/post/6510</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Sun, 15 Mar 2020 23:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Sat, 14 Mar 2020 18:38:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/fbartels" aria-label="Profile: fbartels">@<bdi>fbartels</bdi></a> good point. <a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> Is there a non-public channel for this?</p>
]]></description><link>https://forum.cloudron.io/post/6498</link><guid isPermaLink="true">https://forum.cloudron.io/post/6498</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Sat, 14 Mar 2020 18:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Sat, 14 Mar 2020 03:11:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/iamthefij" aria-label="Profile: iamthefij">@<bdi>iamthefij</bdi></a> talking about irresponsible disclosure. For the benefit of other Cloudron users it may be wiser to have a non public channel to discuss something like this.</p>
<p dir="auto">(But it's indeed good that is was noticed and changed)</p>
]]></description><link>https://forum.cloudron.io/post/6491</link><guid isPermaLink="true">https://forum.cloudron.io/post/6491</guid><dc:creator><![CDATA[fbartels]]></dc:creator><pubDate>Sat, 14 Mar 2020 03:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Fri, 13 Mar 2020 22:36:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/murgero" aria-label="Profile: murgero">@<bdi>murgero</bdi></a> I’m not sure what you mean. Anyone with shell access to the server as any user could do this.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> thanks for the quick update! L</p>
<p dir="auto">Thinking on it a bit more, for more defense in depth I’m realizing that if the server is running as <code>yellowtent</code> the directory ought to be read only for that user. Otherwise a remote execution vulnerability is enough to own the server and escalate privileges.</p>
<p dir="auto">I’m not a proper security auditor though...</p>
<p dir="auto">Have you considered getting a professional audit?</p>
]]></description><link>https://forum.cloudron.io/post/6487</link><guid isPermaLink="true">https://forum.cloudron.io/post/6487</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Fri, 13 Mar 2020 22:36:01 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Thu, 12 Mar 2020 22:56:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/iamthefij" aria-label="Profile: iamthefij">@<bdi>iamthefij</bdi></a> said in <a href="/post/6437">Impersonate user privilege escalation</a>:</p>
<blockquote>
<p dir="auto">I was just reading the documentation on how to do user impersonation and it appears that you only need access to write to /tmp. This is something that any non-privileged Unix user can write to.</p>
</blockquote>
<p dir="auto">/tmp is only writable when in CLI or an app that has a feature to write to this (in the docker container, not the cloudron server)</p>
]]></description><link>https://forum.cloudron.io/post/6461</link><guid isPermaLink="true">https://forum.cloudron.io/post/6461</guid><dc:creator><![CDATA[murgero]]></dc:creator><pubDate>Thu, 12 Mar 2020 22:56:17 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Thu, 12 Mar 2020 17:34:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/iamthefij" aria-label="Profile: iamthefij">@<bdi>iamthefij</bdi></a> I guess we tend to think Cloudron more as an appliance which nobody ssh's into and plays around. But there is ample evidence that people do run arbitrary stuff on the server after installing Cloudron even if we tell them it's not supported... I made a fix similar to your suggestion. I moved the ghost file into /home/yellowtent/platformdata and changed the owner as well. This way non-root users cannot create such a file and cannot read an existing file either (<a href="https://git.cloudron.io/cloudron/box/-/commit/6ee4b0da27d4fdbe60adabd3981ba60c51c2a0c6" target="_blank" rel="noopener noreferrer nofollow ugc">commit</a>).</p>
<p dir="auto">Thanks for reporting!</p>
]]></description><link>https://forum.cloudron.io/post/6458</link><guid isPermaLink="true">https://forum.cloudron.io/post/6458</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Thu, 12 Mar 2020 17:34:13 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Thu, 12 Mar 2020 17:15:26 GMT]]></title><description><![CDATA[<p dir="auto">This is not necessarily a Cloudron privilege escalation, but that Cloudron provides an attack vector for system privilege escalation.</p>
<p dir="auto">The process I laid out will allow one to get <em>system</em> root access.</p>
<p dir="auto">It puts a Cloudron server one arbitrary code execution bug away from a fully pwned system. Even an admin running a non-privileged script will allow someone to gain access to the entire server.</p>
<p dir="auto">This will be very easy to mitigate. I believe the easiest way is rather than using<code>/tmp</code>, which is world writable, put the files in a directory that is owned by the <code>cloudron</code> user. Users can write to it by doing <code>echo '{"blah": "blah"}' | sudo -u cloudron tee /var/cloudron/ghost.json</code>, then have Cloudron delete the file afterwards.</p>
]]></description><link>https://forum.cloudron.io/post/6457</link><guid isPermaLink="true">https://forum.cloudron.io/post/6457</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Thu, 12 Mar 2020 17:15:26 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Wed, 11 Mar 2020 21:04:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/iamthefij" aria-label="Profile: iamthefij">@<bdi>iamthefij</bdi></a> said in <a href="/post/6441">Impersonate user privilege escalation</a>:</p>
<blockquote>
<p dir="auto">The issue is that any unix user can gain access to admin through impersonation by writing to /tmp. Then they are free to install anything they want, ignoring any warnings and use that to escalate to unix root.</p>
</blockquote>
<p dir="auto">True but we have not designed Cloudron to be safe from users with SSH/terminal access. For example, the database itself is available to all users. Our idea has always been that only the Cloudron admin has SSH access. In fact, with Cloudron 5, we are making this distinction a bit more clearer. The first admin is now called an 'owner'. Owner is someone who has access to server / administers the server / installed the Cloudron. Owner can add one or more admins who install apps and manage users. Admins don't require or need ssh access.</p>
]]></description><link>https://forum.cloudron.io/post/6446</link><guid isPermaLink="true">https://forum.cloudron.io/post/6446</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Wed, 11 Mar 2020 21:04:35 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Wed, 11 Mar 2020 19:27:35 GMT]]></title><description><![CDATA[<p dir="auto">Disallowing impersonation of an Admin would be one way to mitigate the escalation.</p>
<p dir="auto">Also, managing impersonation in app would do away with this as well.</p>
]]></description><link>https://forum.cloudron.io/post/6442</link><guid isPermaLink="true">https://forum.cloudron.io/post/6442</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Wed, 11 Mar 2020 19:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Wed, 11 Mar 2020 19:25:53 GMT]]></title><description><![CDATA[<p dir="auto">The issue is that any unix user can gain access to admin through impersonation by writing to <code>/tmp</code>. Then they are free to install anything they want, ignoring any warnings and use that to escalate to unix <code>root</code>.</p>
]]></description><link>https://forum.cloudron.io/post/6441</link><guid isPermaLink="true">https://forum.cloudron.io/post/6441</guid><dc:creator><![CDATA[iamthefij]]></dc:creator><pubDate>Wed, 11 Mar 2020 19:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to Impersonate user privilege escalation on Wed, 11 Mar 2020 18:45:08 GMT]]></title><description><![CDATA[<p dir="auto">Only JupyterHub app on the app store uses docker addon. Normal users don't have access to docker containers as a privileged user in the app. For custom apps, only admins can install apps in the first place. Current, an admin can already generate reset password links of other users and fellow admins (clicking the plane button in the users view).</p>
<p dir="auto">So, I think the attack vector here is that an unknowing admin installs a custom app with the docker addon. Maybe, we need to add security warning in <a href="https://cloudron.io/documentation/custom-apps/addons/#docker" target="_blank" rel="noopener noreferrer nofollow ugc">https://cloudron.io/documentation/custom-apps/addons/#docker</a> for admins ? We could make it the <code>docker</code> addon unavailable for custom apps altogether. Not sure if this breaks "hackability"/tinkering</p>
]]></description><link>https://forum.cloudron.io/post/6438</link><guid isPermaLink="true">https://forum.cloudron.io/post/6438</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Wed, 11 Mar 2020 18:45:08 GMT</pubDate></item></channel></rss>