amuck-landowner

SolusVM Security Update (1.16.11)

KuJoe

Well-Known Member
Verified Provider
For all you providers out there using SolusVM, make sure you upgrade to the latest version. Looks like they Rack911 found some security issues and this update is a patch for them.

Kudos to Rack911 for the report but I still wish they would get their actual code audited instead to clear up a lot of concerns people have (unless something changed in the past year and Rack911 does actual code audits now).
 
Last edited by a moderator:

Licensecart

Active Member
They've always done code audits: https://www.rack911labs.com/faqs.php

Code:
Access to the source code is highly recommended but not necessary. We have done many audits without access to the source code and were still able to find countless vulnerabilities. When we do have access to the source code, the chance of us missing an SQL Injection or Local File Inclusion is greatly lowered which is why we prefer to have access. 

Should you provide access to the source code, we can sign an NDA if you have one available. Everything we do is confidential and will never be shared with anyone else, regardless of an NDA being signed. Once we are done with the audit, any copies of the source code will be removed from our servers.
 

KuJoe

Well-Known Member
Verified Provider
They've always done code audits: https://www.rack911labs.com/faqs.php

Code:
Access to the source code is highly recommended but not necessary. We have done many audits without access to the source code and were still able to find countless vulnerabilities. When we do have access to the source code, the chance of us missing an SQL Injection or Local File Inclusion is greatly lowered which is why we prefer to have access. 

Should you provide access to the source code, we can sign an NDA if you have one available. Everything we do is confidential and will never be shared with anyone else, regardless of an NDA being signed. Once we are done with the audit, any copies of the source code will be removed from our servers.
Not a complete code audit. When I spoke with then they told me they did not review the code line by line and instead checked the code against a database and then tried finding exploits manually.
 
Last edited by a moderator:

Steven

New Member
Not a complete code audit. When I spoke with then they told me they did not review the code line by line and instead checked the code against a database and then tried finding exploits manually.
Partially right. I'll elaborate. 

You can audit code all day long, but there are some kinds of vulnerabilities that can be missed during a code audit. I don't believe in merely a code audit.

We have a multi-faceted approach. The audit starts off with a check list where we go through an entire product an make a checklist of every function and permutation of functions. Every function is individually checked for a variety of vulnerabilities manually: sqli, rce, lfi, rfi, etc.

Here is some examples (only examples, this is the start of the checklist template) of what is done during the manual audit.

We start off looking at the installation of it. This would be for example, something we would utilize on a hosting panel like DIrectadmin or Cpanel:

[ ] Insecure Processes


[ ] Insecure Permissions


[ ] World Writable Files


[ ] World Writable Directories


[ ] Improper SUDO Configuration


[ ] Improper Cron Configuration


[ ] Improper MySQL Configuration


[ ] SUID Binaries
Ok say you have a function in that control panel that added accounts we would use a checklist something like this:

[ ] ACL Bypass


[ ] Arbitrary Command Executions


[ ] Input Validation Failures


[ ] SQL Injections


[ ] Directory Traversals


[ ] Local / Remote File Inclusions


[ ] XSS


[ ] CSRF
So every function is manually ran through those various techniques.

It is true we have a script we run against code to look for various exploits, its built in house and modified often with new techniques. Its not like we are downloading flawfinder (http://www.dwheeler.com/flawfinder/) or something similar running it against code and saying its good to go. Its built by us. There is also also always manual code auditing that occurs as well, especially to look for hidden functions. When we manually audit a software we are looking at a variety of things. For example on something such as SolusVM, while we are auditing it we are looking at a full mysql query log, a modified version of strace that we use, things like snoopy, etc to get a big picture of how things work together. 

One of the big things we find is often admin functions are available to users. One example is a billing software where you could send POST requests to admin functions. The software reported access denied, but in the database it was actually making the intended changes.  The fix for this was the equivalent of a 'true' where there should have been a 'false'. The code was audited by another firm, and this exploit was found by us via manual exploitation.

There has been exploits we have found in software where we utilized 3-4 different functions inside the client side panel together to achieve root on the server hosting the software. Code wise they looked 'ok', but when used together was quite sinister.

###

Regarding the SolusVM update. It was not a paid audit. It contains a quite serious vulnerability that was found completely through manual exploitation. Everyone should upgrade.
 
Last edited by a moderator:

KuJoe

Well-Known Member
Verified Provider
Thanks for clarifying @Steven. I didn't mean for my post to sound negative towards Rack911 in any way so hopefully it didn't come across as such but I also didn't want SolusVM's claim of "Rack911 performed an external audit" to be misunderstood as a full code audit. I like the multi facet approach you guys take but, like everything else in the world, it's not going to catch everything 100% (and a line by line code audit won't catch the same things a Rack911 audit would either in that respect).

The more concerning thing about this security update is that SolusVM's e-mail makes it look like Rack911 performed a complete external audit of the code but Steven points out that isn't the case so I'm not sure if they were being intentionally deceptive or just a lapse in judgement when picking their wording in the announcement. Either way, it's better to have security exploits patched rather than not but it would have been nice for Rack911 to have clarified things better in their HSL e-mail where SolusVM didn't because now it looks like Rack911 did perform a complete external audit and if a major exploit is found in the near future it can have a negative impact on Rack911 because of it.

Note: I'm operating on half a brain cell right now due to lack of sleep so hopefully this post (and my other) make sense.
 

joepie91

New Member
Frankly, if security issues aren't obvious from the code, that likely means the code quality is poor.

That's a risk (and, I'd say, a security issue) in and of itself, that needs fixing.
 

Licensecart

Active Member
Frankly, if security issues aren't obvious from the code, that likely means the code quality is poor.

That's a risk (and, I'd say, a security issue) in and of itself, that needs fixing.
That's how a few people think otherwise the userbase for whmcs wouldn't be as big as it is today, because since Localhost.re (and decrypted versions) we know how poor their code is but hey.

on Topic, Thanks Steven and Patrick for keeping us all safe :D
 
Last edited by a moderator:
Top
amuck-landowner