[PSA] Critical Security Vulnerabilities in "Foxverse" (an open source Miiverse replacement) and the return of PokeAcer

TLDR: In its current state, Foxverse has critical security vulnerabilities that could lead to password breaches, which the developer refuses to fix. Additionally, PokeAcer, a user who has previously stolen and sold other people's exploits, and has used services he was an administrator on to read people's personal messages, is an administrator on this new Foxverse project. In short, as it is right now, Foxverse cannot be trusted.

Well, apparently it's that time of the month again, as I have the pleasure of making Yet Another Drama Blogpost(TM). This time, I'm going to detail security vulnerabilities in the new Foxverse service, which, for the uninformed, is a Miiverse replacement developed by ninjafox/ctrninja/xkyup/ste (did I miss any of his old usernames?). Additionally, PokeAcer is back and working on this Foxverse project. I'll explain why I think that's bad news for the project, and why as long as PokeAcer is working on it, I won't trust it at all.

To start with, I'll discuss the potential security vulnerabilities. Unlike last time, where the screenshot dump was at the end of the post, I'm going to put these screenshots at the beginning, so you can have some context going into what is a somewhat technical explanation: https://imgur.com/a/fVYsK

Password validation security is hard to get right - there's a lot of moving parts, and a lot of the security methods are difficult to understand. However, it's the most important part of any web service, as an exploit and password leak in your service could lead to users' passwords being leaked for multiple sites, including potentially harmful things like bank accounts. For this reason, no matter what service you're implementing, if it deals with passwords, it has to be secure.

Unfortunately, Foxverse isn't secure in its current implementation. There are two main issues:
  1. Client-side hashing
  2. Use of HTTP over HTTPS
I'll address each of these in turn. Note this is going to be a somewhat technical explanation - if you want the layman's version, skip ahead.

First, client-side hashing. Client side hashing, in and of itself, is not a bad thing. In fact, it's probably a good idea to do some amount of client side hashing, especially using a secure key-stretching algorithm such as bcrypt. However, client side hashing is by no means a replacement for server-side hashing. If the password is hashed on the client side and uploaded to a password database and stored in that database, logically, the client-side hash becomes the user's password. In the event of a database breach, an attacker doesn't even need to crack the hash - all they have to do is upload said hash, and they can instantly get into any user account. For this reason, client side hashing without any server side hashing is no better than storing passwords in plaintext. That being said, all this would allow an attacker to do is gain access to their Foxverse account - it wouldn't give an attacker the user's actual password. However, it's still a rather large security risk, and one that should be considered and patched. The solution is simple - hash on the server as well as on the client.

Secondly, there's a much bigger issue - the use of HTTP over HTTPS. The use of HTTP means that none of the data sent between the console and the server is encrypted. Any attacker could simply read all of the data in plaintext, and, if they Man In The Middle (MITM) the connection, modify that data. This means two things: first, any attacker can get the password with ease (if it's hashed client side, which Forxverse does right now, only that service will be compromised). The much bigger danger, however, is the danger of an MITM. It's trivial to modify the javascript sent over HTTPS to not include the hashing + salting algorithm. This means that a potential attacker could get the plaintext password of anyone using this service with relative ease. Confronting ninjafox over this vulnerability got me nowhere, and given my belief that this issue is paramount to public security, I've decided to publicly post it.

Now for the layman's explanation: Foxverse does not securely store passwords, leading to two major vulnerabilities. The first is that anyone with a password database dump doesn't need to crack the hashes, but instead can access anyone's account instantly. The second is that an attacker can MITM the connection between the server and the console, perform a trivial modification of the JavaScript served, and get the plaintext password through that route (which could lead to the compromise of other services).

Please note that this is not an attempt to kill the project like ninjafox seems to believe it is. I would be ecstatic to get a proper Miiverse replacement. However, password security is something extremely important and I strongly believe that any such Miiverse replacement needs to have strong security. This is simply an attempt at making sure that this happens.

And now, onto the second part of the post: the return of PokeAcer.

At this point, it's fairly common knowledge that PokeAcer cannot be trusted - see my link at the top of the post. He stole and sold an exploit, begged for forgiveness, and then did the same thing again, and stole and leaked an exploit (ugopwn) ahead of time. However, something I had forgotten about myself was that PokeAcer also stole and read private flipnotes, abusing his position as a Project Kaeru administrator. See my quote from the last post:
Additionally, he says not to judge one of the projects he works on, Project Kaeru (a custom server for Flipnote Studio 3D) as the rest of team doesn't condone his actions, but later on he admitted that he was reading and stealing information from people's notes on the Project Kaeru server.
Although I glossed over it last time, I believe it's extremely relevant to consider now. As long as someone who has a history of stealing private messages is involved in a service like this, I cannot trust any data that is on said service. And yes, PokeAcer is involved as a developer in this.

In short, I cannot, and don't believe anyone should, trust Foxverse, both due to the security issues, and the personnel involved.
  • Like
Reactions: 53 people
Status
Not open for further replies.

Comments

I know Astronaut. But somehow it happened and was entertained. It calmed down so I'm off to find more.
 
Curious.
While I am all for separating development into modules you can bypass as necessary to get other things going the client side hash stuff seems a very strange choice indeed. Trying to think why anybody that knows enough to want a password would even implement such a system... maybe as really crude way of having a password component in the protocol? Dodge needing a session handler mayber? I can't see a premade library being made for this, unless there is a server side thing that was repurposed.

As for the rest peh. It is only miiverse. If someone wants to make a clone of a trainwreck then we all have our little art projects.
 
  • Like
Reactions: 1 person
@JoshuaDoes - I honestly believe that you guys were not involved with any of PokeAcers interactions nor do I believe that PokeAcer stole any data on kaeru:world. What I do know however is that he claimed to brag about reading private flipnotes at the time of his previous incident. Whether this is true or not, the mere fact that he would brag about it would make PokeAcer unfit to be trusted with anything more than a stumped of knife.
 
  • Like
Reactions: 6 people
@Ev1l0rd I understand, and we are currently studying our commit history to make sure our service was not used for this - we apologize greatly if this is the case, however. In the process, we are also looking into what bugs were patched in the latest FS3D update to see if we can figure out how PokeAcer may have pulled this off.
 
  • Like
Reactions: 3 people
Hi. I'm Spotlight, a dev on RiiConnect24 where PokeAcer is also a developer. I know PokeAcer will see this, and I think he knows how I think of it: I do not condone what he did, and even what he claims to have done doesn't lessen the impact. It was a total dick move any way it can be put.

At RiiConnect24, we're working on the last of our scripts for *xyz unreleased channel* support. PokeAcer has put in a great deal of effort corresponding all devs on the best methods for file generation, storage, and userbase handling. The other day, he helped another developer figure out better methods than using IP for the mail services' user identification.

Now, a reply for this specifically. There are other developers here as well, and from the bits and pieces I've forced PokeAcer to give me details about he is taking a very large effort into making this enjoyable and well done. I'd imagine most of you don't care about his apologies (after all, he leaked stuff twice!) and I have to say I can't blame you. Don't shoot the rest of the developers down for it because of that. I'm sure they know what Poke's done elsewhere and will adjust as they see fit. I also see it's been mentioned about how it's not finished so I won't target that.

personal note
My only hope is that this will somehow become auditable so others can spin off their implementation as they please. I'm sure that'd help with their community by allowing other developers to contribute/make changes for security and usability, and most of all break away from the project if stuff goes amok as claimed.
 
  • Like
Reactions: 5 people
In response to your personal note, the last I heard of the project was that it was planned to be closed source, which would make a security audit nearly impossible.

https://i.imgur.com/X3HSMHi.png

I have been given no information as to whether it is still going to be closed source, or if the developer has had a change of heart.
 
  • Like
Reactions: 3 people
It's a project that I personally don't care for. Why he was brought in is well beyond me and my development comprehension. He's left a foul taste in the mouth of this community as a whole. When his name is brought up its either a meme or a trigger. Regardless, I can't be damned to trust him or anything he builds. I won't even attempt to be light hearted about it. He messed up, more than twice. Now he's put a target on this project as well. If it works out? Great. If not? Not one of us will be surprised.

"Guilty by association" comes to mind. Whether or not it's true is dependent on how you view the situation.
 
@astronautlevel I was told that it may be OSSed when development stalls a bit.
PokeAcer (who did in fact see my comment after being referred by someone else) notes that documentation about the API and such will be made, the implementation is closed source.

Very good point in the meantime though, will have to see how conflicting responses work. :x
 
Some fault goes to whoever ALLOWED Pokeacer to be in any position of power at all. What a mess. I can't honestly believe that anyone expected anything EXCEPT this outcome.
 
  • Like
Reactions: 12 people
@Fix - With all degrees of politeness, while I am in agreement that foxverse as a project is an interesting thing, I do not trust xkyup and PokeAcer with any form of implementation of foxverse. I do not trust xkyup with moderation duties for this project (because lets be honest: xkyup has little to zero coding skills to contribute) due to his impulsive and stupid behavior in the past.

PokeAcer I do not trust for simply having a three times over history of being proven to not be able to handle private information.
 
  • Like
Reactions: 5 people
@Chary - That was xkyup. PokeAcer presumably from what I could gather contacted him and xkyup took pity on him as PokeAcer became depressed or something after he was cast out from the scene.
 
Status
Not open for further replies.

Blog entry information

Author
astronautlevel
Views
2,208
Comments
356
Last update
Rating
1.00 star(s) 1 ratings

More entries in Personal Blogs

More entries from astronautlevel

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :O:ohnoes::ohnoes::ohnoes::angry: I Love Pianos 😡