-
J james marked this topic as a regular topic
-
Hello @dark and welcome to the Cloudron forum
I submitted a bug report on 2 June, but I haven't received a confirmation yet.
I assume you have sent us a mail at support@cloudron.io?
Bug reports should be submitted in the forum unless they are critical security issues.
So you can use this topic to report this bug here. -
Hello @dark and welcome to the Cloudron forum
I submitted a bug report on 2 June, but I haven't received a confirmation yet.
I assume you have sent us a mail at support@cloudron.io?
Bug reports should be submitted in the forum unless they are critical security issues.
So you can use this topic to report this bug here.Hi @james
I actually sent the email to security@cloudron.io following the instructions on https://www.cloudron.io/security.htmlSince it involves a security vulnerability, I wanted to report it privately rather than posting it here on the public forum.
-
Hello @dark
Is the mail you used in our forum the same you have used to send the mail to security@cloudron.io? -
J james moved this topic from Support
-
@dark thanks for your report. I looked into them. For transparency, here is our assessment.
All the reported issues require the attacker to already have an admin token / compromised admin password. All the issues below are not reproducible as a (compromised) normal user. Also. the issues were reproduced on the demo instance, which of course has the admin username/password displayed in public.
We found the report to be thorough and with clear explanation on how to reproduce the problems. From our side, we ack the bugs and have made the following fixes:
Problem: Full SSRF via applinks. This is about adding an internal IPs as an applink.
Our analysis: Linking to internal apps is a legitimate feature. An applink is fundamentally a bookmark and there's nothing wrong with pointing it at 192.168.1.50 or an internal app. Applinks REST response only returns label and icon not contents of a site. You can't really infiltrate EC2 metadata etc and neither can you make non GET requests.
Our fix: We have added a fix now to block server internal IPs like localhost and docker internal network.Problem: SQL injection via dynamic column names. This is about being able to send arbitrary field names in the REST APIs.
Our analysis: Indeed, our query builders, should only use field names which are in the db and are part of an allow list.
Our fix: We have added allow list to all our model codeProblem: 2FA/TOTP BYPASS via skipTotpCheck: true
Our analysis: I think this is because the demo instance does not allow you to set a TOTP. It doesn't show an error currently when this happens and leads the user to believe an OTP was set. For the demo server, we can't allow users to set a TOTP because it will make it unsuable for others.
Our fix: We will show an error like we show in other places. But also, the password login routes have already been removed in Cloudron 10 (which is yet to be released). That route exists as a backward compat for the CLI. Cloudron only supports OIDC device auth for the CLI from Cloudron 10.Problem: Stored XSS via branding footer
Our analysis: right. This issue has been present since ages and our demo instance always has someone putting some alert() or some stupid HTML in there periodically...
Our fix: We give in to the non-stop reports about this... We use dompurify now.Thanks for the report again. Very clear and solid notes. I also took the chance to update https://www.cloudron.io/security.html and https://www.cloudron.io/.well-known/security.txt
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login