Note
This information is based off of early reports I have seen. I don't claim to know the extent to which any damage was done and as such recommend a password reset (two-factor authentication would not be of use if authentication tokens were compromised), but we do know that this was a Javascript injection.
Update
As of right now, it seems that the vulnerability should have only exposed JWTs, which have been invalidated by those instance administrators. I'd still recommend a password rotation just because, but you should be alright.
==========
With the recent Lemmy.world incident, I'd like to update you all. This vulnerability could not have affected you had you been using only Memmy while browsing. It was a Javascript injection, and as Memmy does not execute any Javascript, there is no attack surface here.
The only case where this could have affected you would be if you had been signed in to your account inside of the in-app browser or the default browser and opened one of these posts. That however would not be something with Memmy itself, but rather the accessing of the PWA.
Regardless, as we don't actually know what happened, I'd recommend changing passwords. If any JWTs were compromised during this, regardless of 2FA status these tokens could be used to authenticate with your account.
From what I have seen, this was an issue that was limited to Lemmy.world, as supposedly they were running a custom frontend build. Other than that, I don't know anything else.
Also, for the record, there is only one instance in this application where a webview is used, which is when viewing the terms of service which simply loads a local file from the app assets.
Any questions, I'll try to answer them but you'd be better off asking people more knowledgeable about the incident.
As always, this is a good time to go over your online security practices.
It is strongly recommended that you use a password manager such as Bitwarden or 1Password if you do not use one already. This can help prevent credential surfing if you have used the same password over many sites, preventing you from having several of your accounts breached from a single breach.
If you have used a password on Lemmy.world that you have used on other sites, you should change those other sites passwords immediately.
Email addresses may have been breached during the attack and this may result in increased spam and phishing emails. It is strongly advised that you throughly verify any emails that you receive after this, particularly ones relating to login requests, messages from banks or payment providers, such as PayPal or government institutions.
Thank you for using Memmy and stay safe!
Update: I was wrong. XSS was indeed the primary attack vector.
XSS was not the primary attack vector, it was just used to deface the site. Given what lemmy.world looks like right now, and how lemmy.blahaj.zone looked like without JS before the admins took back control, it is evident that the hackers were able to take control of the site on a database level. The magnitude and nature of changes are extremely unlikely to have been possible through the Lemmy API.
Password hashes are extremely likely to have been stolen, but luckily Lemmy has sane password storage practices (bcrypt at a difficulty setting of 12) so if your password is decently strong, it's incredibly unlikely to be compromised. Still, changing it is a good idea.
Furthermore, the site's JWT secret is stored in the database, so worrying about tokens is futile, the hackers can generate new ones on-demand. This will be the instances' jobs to sort out after they have taken back control.
Changing password is a good idea.
Changing it NOW is a bad one tho, we don't know what's going on on .world's side.
Unless of course, if we're talking about changing any other sites that use the same password, at which point: One, do that. Two, stop using the same password on more than one site. Time to get a password manager.
Looks like things are back to normal.
Disagree on database level access. The token stealing code that transmits back to its mothership was injected through comments. I’ve already identified the ones that were propagated to my own instance.
Hella interesting. Turns out you're right, which makes the damage they've managed to do to lemmy.blahaj.zone kinda crazy. I guess they must have pwned a head admin, because the site was empty, which I assumed couldn't have been done without DB level access.
I wish I knew what any of this meant. I don’t even know how to change my password
To change your password, go to your profile settings and scroll to the bottom where it says create new password