Lemmy.world (and some others) were hacked

3 years ago by Ruud to c/lemmyworld

While I was asleep, apparently the site was hacked. Luckily, (big) part of the lemmy.world team is in US, and some early birds in EU also helped mitigate this.

As I am told, this was the issue:

  • There is an vulnerability which was exploited
  • Several people had their JWT cookies leaked, including at least one admin
  • Attackers started changing site settings and posting fake announcements etc

Our mitigations:

  • We removed the vulnerability
  • Deleted all comments and private messages that contained the exploit
  • Rotated JWT secret which invalidated all existing cookies

The vulnerability will be fixed by the Lemmy devs.

Details of the vulnerability are here

Many thanks for all that helped, and sorry for any inconvenience caused!

Update While we believe the admins accounts were what they were after, it could be that other users accounts were compromised. Your cookie could have been 'stolen' and the hacker could have had access to your account, creating posts and comments under your name, and accessing/changing your settings (which shows your e-mail).

For this, you would have had to be using lemmy.world at that time, and load a page that had the vulnerability in it.

LuckyLu 325 points 3 years ago

Very impressed by how quickly action has been taken by this and other instances to patch the issue.

path: 0 1064004, hotness: undefined, score: 325, children: 29
trouser_mouse 51 points 3 years ago

Very, seems like great work.

path: 0 1064004 1064817, hotness: undefined, score: 51, children: 0
Darkard 20 points 3 years ago

Hijacking the top comment to say I had problems with logging in to Lemmy.world today and liftoff was failing in odd ways.

I had to go into my web browser and clear my site cookies for lemmy.world to let me log in there.

In liftoff I had to go into the app settings in android to clear the cache and then remove and re-add my account for it to be able to log me in. (Press and hold on the account to remove it)

path: 0 1064004 1072166, hotness: undefined, score: 20, children: 19
LuckyLu 16 points 3 years ago

I’m on iOS with the Memmy app. It’s a work in progress that’s officially unfinished so I’m not surprised but it has also been a bit buggy. Doesn’t seem that I can log out without deleting and reinstalling the app so hopefully this doesn’t happen too often XD

path: 0 1064004 1072166 1072780, hotness: undefined, score: 16, children: 13
Carnelian 12 points 3 years ago

So I was actually just struggling with that myself, also in the Memmy app in case that isn’t clear

What I did was add my account (again)

There was no warning or anything, and it populated the list with two of me.

At that point, a “delete account” option appeared under both of them. So I guess in normal circumstances, it wants you to keep one account around at all times?

I deleted one of them, and the app basically reinitialized. Both were gone and it showed me the welcome screen.

I logged back in, and now everything is back to normal

path: 0 1064004 1072166 1072780 1073444, hotness: undefined, score: 12, children: 7
nan 3 points 3 years ago

I just did edit account and then saved, it seemed to trick it into logging in again (secrets on my instance were also reset).

path: 0 1064004 1072166 1072780 1073444 1075398, hotness: undefined, score: 3, children: 0
scarabic 2 points 3 years ago

Ah interesting. I’ve had multiple accounts from the start so it was much easier for me. Just removed my main account and added it back.

path: 0 1064004 1072166 1072780 1073444 1083480, hotness: undefined, score: 2, children: 0
Pandantic 1 point 3 years ago

I did this, but I just didn’t delete either accounts and it worked fine. Idk if it’s detrimental to have two of the same but it worked for me.

path: 0 1064004 1072166 1072780 1073444 1075377, hotness: undefined, score: 1, children: 0
JJROKCZ 1 point 3 years ago

Finally I found good instructions, was about to delete and reinstall until I followed this!

path: 0 1064004 1072166 1072780 1073444 1101069, hotness: undefined, score: 1, children: 0
LuckyLu 1 point 3 years ago

Interesting. Definitely could be made clearer, I’ll make a post on the GitHub later about some of my suggestions.

path: 0 1064004 1072166 1072780 1073444 1075145, hotness: undefined, score: 1, children: 0
LuckyLu 1 point 3 years ago

Interesting. Definitely could be made clearer, I’ll make a post on the GitHub later about some of my suggestions.

path: 0 1064004 1072166 1072780 1073444 1094024, hotness: undefined, score: 1, children: 1
Infernal_pizza 7 points 3 years ago

I found I didn’t actually have to log out, just go into account settings and reconfirm everything without changing it

path: 0 1064004 1072166 1072780 1072833, hotness: undefined, score: 7, children: 0
calaei 2 points 3 years ago

Go into account settings, clear your password, re-enter your password, save, go to feed and pull to refresh. That’s what worked for me.

path: 0 1064004 1072166 1072780 1074704, hotness: undefined, score: 2, children: 0
scarabic 2 points 3 years ago

No you can. You just remove the account from the accounts list. It’s labeled “delete this account” which is scary but it just removes it from Memmy. You can add it right back and that logs you back in. Not a great experience.

I sure hope this doesn’t happen a lot. This kind of barrier hurts site growth. I’ve managed a lot of large sites and seen a lot of bugs and when everyone gets logged out there is a measurable impact, and some folks never return. Just look at all the comments here saying “thank I didn’t know to do that.” For every one of those there are 100 people going “huh… Lemmy is down… oh well… on to something else…”

path: 0 1064004 1072166 1072780 1083445, hotness: undefined, score: 2, children: 0
No1ButtMe 1 point 3 years ago

I was I able to upvote anything or subscribe. Seems like uninstalling and reinstalling fixed my issue

path: 0 1064004 1072166 1072780 1101591, hotness: undefined, score: 1, children: 0
LazaroFilm 1 point 3 years ago

For Memmy, I went to the accounts page in the settings. Click d on my lemmy.world account then to the page where you can change the password then navigated away. That reactivated the account. Maybe we should add a ticket on Memmy’s GitHub about reactivating cookies when there’s an issue. Or at least place à poput to double check credentials or something.

path: 0 1064004 1072166 1072780 1073672, hotness: undefined, score: 1, children: 0
Caboose12000 3 points 3 years ago

thanks for posting this, I wouldn't have figured that out lol

path: 0 1064004 1072166 1081405, hotness: undefined, score: 3, children: 0
ellaella_ayayay 2 points 3 years ago

Oh, I was wondering why it was showing me as logged in but wouldn't let me upvote due to not being logged in. Your liftoff psa just cleared that right up for me, thanks!

path: 0 1064004 1072166 1076428, hotness: undefined, score: 2, children: 0
runswithjedi 2 points 3 years ago
path: 0 1064004 1072166 1076262, hotness: undefined, score: 2, children: 0
deweydecibel 2 points 3 years ago

In liftoff I had to go into the app settings in android to clear the cache and then remove and re-add my account for it to be able to log me in. (Press and hold on the account to remove it)

Good PSA. It took me a bit to figure it out, the app doesn't make this obvious.

path: 0 1064004 1072166 1074844, hotness: undefined, score: 2, children: 0
nei7jc 1 point 3 years ago

How have I never thought of comment hijacking?!

path: 0 1064004 1072166 1106852, hotness: undefined, score: 1, children: 0
AccidentalLemming 2 points 3 years ago
path: 0 1064004 1127536, hotness: undefined, score: 2, children: 0
grissee 1 point 3 years ago

uh, why did you have negative one dislike?

path: 0 1064004 1101176, hotness: undefined, score: 1, children: 5
LuckyLu 2 points 3 years ago

Negative one upvotes would mean that enough people disliked me/another poster to bring my upvote total to zero. (Upvotes and likes are effectively the same thing, it’s just a naming convention). Reddit totals them up and seemingly Lemmy does as well.

path: 0 1064004 1101176 1111452, hotness: undefined, score: 2, children: 4
grissee 1 point 3 years ago

huh that's weird (yes I meant negative one downvote), I already know that the total can be either positive or negative, but shouldn't the upvote number and downvote number be either positive or zero? (for now I'll just accept it as a lemmy bug/ inconsistencies between instances)

path: 0 1064004 1101176 1111452 1116062, hotness: undefined, score: 1, children: 3
LuckyLu 1 point 3 years ago

Nope, just like Reddit it’s a value that ranges between negatives and positives. If I get two thousand upvotes, positive 2k. If I get two thousand downvotes, negative 1999 (because iirc you start with one by default).

Not exactly sure I understood what you meant by “either positive or zero”.

path: 0 1064004 1101176 1111452 1116062 1117225, hotness: undefined, score: 1, children: 2
SRSAutistic 1 point 2 years ago
path: 0 1064004 13690543, hotness: undefined, score: 1, children: 0
ThisIsMyLemmyLogin 288 points 3 years ago

I wish hackers would invest their time in clearing credit card debt, deleting hospital fees, or something else that actually serves the public good, instead of hacking ordinary people just trying to get by.

path: 0 1066424, hotness: undefined, score: 288, children: 51
00Xero00 35 points 3 years ago
path: 0 1066424 1066931, hotness: undefined, score: 35, children: 17
TheVampireSaga 36 points 3 years ago

As I pointed out in the thread it was probably a few Lemmy users themselves that did it.

path: 0 1066424 1066931 1067088, hotness: undefined, score: 36, children: 8
elbarto777 50 points 3 years ago
path: 0 1066424 1066931 1067088 1069611, hotness: undefined, score: 50, children: 4
dingus 15 points 3 years ago

Yeah it seems like the attack wasn't "malicious" per se in that the attacker didn't seem to want to completely take down the site. They just seemed to want to mess with everyone by redirecting to lemon party and other mildly shocking things like racist remarks. Reads more like a bored person to me than anything.

path: 0 1066424 1066931 1067088 1069611 1073439, hotness: undefined, score: 15, children: 3
0Xero0 9 points 3 years ago

it doesn't matter who, it's the "why". They get nothing from this, the only one who benefits from Lemmy going down is spez

path: 0 1066424 1066931 1067088 1067701, hotness: undefined, score: 9, children: 2
SrElsewhere 20 points 3 years ago

I've sat at keyboards beside people studiously working their own. My presumption was that we were working on the same project. Then they have their AHA moment, and show me how they've hacked into our host machine.

They didn't do it for money or to cause disruption. They did it to see if they could, and succeeding was reward enough. Then, happy as could be, they set off in pursuit of their next accomplishment.

Ya never know what's going through others' minds or what motivates them.

path: 0 1066424 1066931 1067088 1067701 1072147, hotness: undefined, score: 20, children: 0
Fpsfrank85 2 points 3 years ago

If anything an annoyed Reddit “hacker” doing it to see if they could and for the lulz

path: 0 1066424 1066931 1067088 1067701 1082926, hotness: undefined, score: 2, children: 0
4am 30 points 3 years ago

I thought we weren’t going to be Reddit-brained over here

path: 0 1066424 1066931 1070186, hotness: undefined, score: 30, children: 2
TheStarkGuy 26 points 3 years ago

Nah. There's far too much risk for Reddit to be involved. If even one hacker spilled the beans it'd cause a massive panic for Reddit investors.

path: 0 1066424 1066931 1068279, hotness: undefined, score: 26, children: 4
eating3645 30 points 3 years ago

"It would be extremely stupid and would inevitably backfire if reddit was responsible. Seriously, if spez has one ounce of foresight he would not be involved."

Well you have convinced me reddit is behind it.

path: 0 1066424 1066931 1068279 1069561, hotness: undefined, score: 30, children: 1
linearchaos 6 points 3 years ago

I mean if they spilled the beans, we'd have to upvote them.

path: 0 1066424 1066931 1068279 1085141, hotness: undefined, score: 6, children: 0
riskable 29 points 3 years ago

Deleting hospital fees/debt is very dangerous... In many HUGE regions in the US there's only one hospital and if that hospital suddenly can't pay its bills it could shut down, leaving a whole lot of completely innocent people in a very sad, people-are-dying sort of state.

In fact, something like this already happened:

https://www.cbsnews.com/...

Hospitals are special in that they're often evil organizations (not all though) that are some of the easiest to hack but also provide critical services to the most vulnerable. One should tread lightly. Political solutions are better (hack some politicians that are against healthcare reform instead).

Clearing credit card debt via hacking is nearly impossible but I agree it would be a much more ethical choice for hackers to target. I used to work for the credit card industry. My unique insider perspective, deep industry knowledge, and personal experience is here to let you know they suck. They are just as evil and unethical and unnecessary as everyone thinks they are! Seriously: If Visa, MasterCard, American Express, and all the lesser players suddenly disappeared the world would be a better place.

Before that can happen though people need a backup payment method that doesn't go through their systems and no: Cash won't work (there's not enough in circulation and it's dangerous to carry large amounts of it). The credit card companies know this threat exists which is why they lobbied Florida (and probably other states) to outlaw alternative, government-run forms of payment (e.g. central bank currency).

As soon as people have a widely accepted payment option that doesn't go through Visa and MasterCard's middlemen (e.g. First Data) then hackers can take their gloves off! Until then though... Let's keep the payment infrastructure working, OK? Thanks!

There's no limit to the amount of good deeds hackers can do though. So let's encourage that! For example, there's plenty of cartels and evil religious organizations (e.g. Taliban, ISIS, Mormon Church, Prosperity Gospel scam artists) that have plenty of money to spare and enormous attack surfaces 👍

path: 0 1066424 1075809, hotness: undefined, score: 29, children: 2
ZILtoid1991 7 points 3 years ago

Considering some of the targeted instances and the stuff they left behind, it was likely some nazi.

path: 0 1066424 1077273, hotness: undefined, score: 7, children: 0
4am 0 points 3 years ago

“Marty we started this journey together!”

“It was a prank, Cos’!”

path: 0 1066424 1107770, hotness: undefined, score: 0, children: 0
TwoGems -2 points 3 years ago

Ribbit

path: 0 1066424 1069653, hotness: undefined, score: -2, children: 0
vacuumflower -16 points 3 years ago

clearing credit card debt, deleting hospital fees, or something else that actually serves the public good,

Inflation does very clearly not serve the public good. That aside, causing havoc in banks and medical institutions would have other unpleasant effects.

path: 0 1066424 1067388, hotness: undefined, score: -16, children: 26
Ahmed 138 points 3 years ago

Thanks Ruud for fixing it! Just a reminder guys that If you are using a third party app you need to login again.

path: 0 1068418, hotness: undefined, score: 138, children: 10
TheVampireSaga 100 points 3 years ago

what steps are being taken to ensure it doesn't happen again? was any personal data compromised for users?

path: 0 1063989, hotness: undefined, score: 100, children: 24
ruud 92 points 3 years ago

Good point, I'll update the post.

path: 0 1063989 1064005, hotness: undefined, score: 92, children: 23
TheVampireSaga 50 points 3 years ago

Also I am curious, what's the easiest way to currently reach the admins in case this happens again somehow? Two of them on their account have been seemingly inactive for a month and as per your own statement you rarely check your notifications and dms. Is there a discord somewhere for it?

path: 0 1063989 1064005 1064076, hotness: undefined, score: 50, children: 8
ruud 53 points 3 years ago path: 0 1063989 1064005 1064076 1064131, hotness: undefined, score: 53, children: 6
sirnak 13 points 3 years ago

Why wasn't there an info on /lemmy-world.statuspage.io ?

path: 0 1063989 1064005 1064076 1064131 1064598, hotness: undefined, score: 13, children: 1
Container9043 11 points 3 years ago

Would it be a good idea to have a secondary email not attached to lemmy.world in case of a domain hack?

path: 0 1063989 1064005 1064076 1064131 1065660, hotness: undefined, score: 11, children: 3
Draconic_NEO 4 points 3 years ago
path: 0 1063989 1064005 1064076 1064251, hotness: undefined, score: 4, children: 0
BustedPancake 20 points 3 years ago

So all our cookies are negated now with the JWT changed, and we just needed to login again? Can attackers have stolen our cookies in order to use our accounts to post as if it was us? I'm sure they were only interested in admin cookies, so most others were "useless" to them? I see nothing wrong with my posts so I should be safe, right?

path: 0 1063989 1064005 1064129, hotness: undefined, score: 20, children: 8
cantevencode 26 points 3 years ago

Prior to the JWT secret being rotated, yes, they could have authenticated as you. The tokens are now all invalid and useless

path: 0 1063989 1064005 1064129 1064153, hotness: undefined, score: 26, children: 0
TheVampireSaga 9 points 3 years ago

Probably. I had to re-login myself.

path: 0 1063989 1064005 1064129 1064170, hotness: undefined, score: 9, children: 0
Rooki 5 points 3 years ago

If you think they could change your password:

YES, they could.

They could have changed the email => "Forgot PW" and with that you lost ur account.

path: 0 1063989 1064005 1064129 1065277, hotness: undefined, score: 5, children: 5
00Xero00 2 points 3 years ago

I think I've lost my account, I clicked Forgot Password and nothing came into my mailbox. This account is the one I made just now.

My old account:

If you see that account post or comment on anything, please report it

Edit: Nvm, I use another email to sign up for Lemmy and forgot about it

path: 0 1063989 1064005 1064129 1065277 1066711, hotness: undefined, score: 2, children: 4
InverseParallax 16 points 3 years ago

Nice work on the recovery, especially from a 0-day.

path: 0 1063989 1064005 1064223, hotness: undefined, score: 16, children: 0
giant_smeeg 14 points 3 years ago
path: 0 1063989 1064005 1064096, hotness: undefined, score: 14, children: 3
hawkwind 24 points 3 years ago

They defaced it with dicks and changed the federation list to be only threads.net. I don't think it was a state sponsored chinese hacking group. :)

path: 0 1063989 1064005 1064096 1064978, hotness: undefined, score: 24, children: 2
linearchaos 17 points 3 years ago

I'm ok with the dicks but the threads are TOO FAR!!! shuffles off to the angry done**

Thank you all for staying on top of it.

path: 0 1063989 1064005 1064096 1064978 1065355, hotness: undefined, score: 17, children: 0
milan 4 points 3 years ago

right after the update we also had most of the serverlist cleared except threads.net (which was the last one added so i assumed it was some bug) – otherwise nothing appears to be touched on this instance tho.

path: 0 1063989 1064005 1064096 1064978 1066113, hotness: undefined, score: 4, children: 0
wazoobonkerbrain 98 points 3 years ago

IMPORTANT ANNOUNCEMENT: My account was not among those hacked. Any random bullshit appearing in my post/comment history was written by me.

path: 0 1110833, hotness: undefined, score: 98, children: 2
trouser_mouse 90 points 3 years ago

First - really good summary and sounds like everyone is working hard.

Cross posting the below comment.

Under GDPR if you have had a data breach you have a legal obligation to assess whether you need to report it and you must make the report within 72 hours of discovering the breach.

There are other types of reportable breaches too, I only mention data as it sounds most likely. You may or may not be subject to PECR which may also have been breached although less likely. I don’t really have enough familiarity with the regulation to discuss that one.

If you are not sure if there has been a breach you may also need to discuss it with the relevant body or make a report.

Please can you update what action you have taken regarding this and if the incident was reportable or not and the reasons why. Edit - from that new information, it sounds like this is a reportable breach.

For a full understanding, it would be good to know if you had 2FA enabled on the compromised account particularly as it had admin privileges and if so how 2FA was circumvented with this exploit.

It would also be good to know what measures you have in place to prevent the same or other malicious attempts on your Open Collective and Patreon accounts as issues with those are potentially more serious. They may not be vulnerable to this, but it is going to be reassuring to know there is good security practice, 2FA protection etc enabled and you have robust procedures in place.

path: 0 1064402, hotness: undefined, score: 90, children: 17
ruud 50 points 3 years ago

Thanks for the info. We're looking into this.

path: 0 1064402 1064553, hotness: undefined, score: 50, children: 0
B16_BR0TH3R 23 points 3 years ago

If a valid browser token gets stolen like in this case, then MFA won't do much good because the stolen token will already have been authenticated. Linus Tech Tips experienced the same thing recently, you can check out their channel.

path: 0 1064402 1067930, hotness: undefined, score: 23, children: 3
trouser_mouse 7 points 3 years ago

That makes sense, thanks so much - there's a few good explanations here which really help! Would it be right in saying that all affected servers should be logging off all users - some have but not sure if all.

path: 0 1064402 1067930 1068053, hotness: undefined, score: 7, children: 2
riskable 7 points 3 years ago

The fix is to force the use of a new JWT encryption key which--when set--would immediately invalidate all existing user cookies, forcing all users to relogin.

Lemmy has a few weaknesses related to their use of JWT in cookies that need to be addressed... The biggest one being that they use the same secret key for all user cookies (every user should have their own unique session key). I'm pretty sure that if they implemented that the scope of this vulnerability would be drastically reduced (but I haven't looked at the precise mechanism of the vulnerability yet).

They also need to provide tools in the GUI for admins and users to invalidate all issued sessions (cookies) and a mechanism for regularly rotating session secrets (the cookie currently lasts for a year and even if the session token gets regenerated it'll still use the same secret).

They also need to make the expiration times configurable so that security-focused servers can set short expiration times. Related, they need to force the use of unique secrets for every session (even if it's the same user using different devices/apps).

path: 0 1064402 1067930 1068053 1076224, hotness: undefined, score: 7, children: 0
B16_BR0TH3R 6 points 3 years ago

I guess that would depend on the specific case. If you physically went on my computer to steal my token or infected my computer with a virus to do it then we can assume that no other tokens have been compromised. But if the malicious actor has managed to steal tokens from the actual server (which seems to be the case here) and not the client then yes, as the admin I would certainly require that everyone log in again as a safety measure.

path: 0 1064402 1067930 1068053 1068263, hotness: undefined, score: 6, children: 0
hawkwind 19 points 3 years ago

Out of curiosity, where would the regulators go for a case like this? There's no "company" running it per. se.

path: 0 1064402 1065246, hotness: undefined, score: 19, children: 3
linearchaos 27 points 3 years ago

It seems the general consensus is GDPR applies even to OSS non company entities, but it would appear that there's very little being done to honor it.

https://www.zwilnik.com/....

This article outlines Fediverse and responsibilities, I think it mostly requires someone to file a lawsuit before there's any action.

In another case a man had cameras in his back yard that could also see a public area and was fined and forced to move them.

https://www.termsfeed.com/blog/gdpr-exemptions/

Mainly it just seems to be fodder to be used in lawsuits to make people comply with others security wishes. Not certain how all that works since cities are covered in public cameras.

path: 0 1064402 1065246 1065935, hotness: undefined, score: 27, children: 0
trouser_mouse 12 points 3 years ago

I am not sure how a platform like this will work with GDPR - each server will be responsible themselves, but how it works with the flow of data between servers and who the regulators would have cases against - I think that is to be tested at some point.

path: 0 1064402 1065246 1065845, hotness: undefined, score: 12, children: 0
ReadyUser31 3 points 3 years ago

They will go after a person instead.

path: 0 1064402 1065246 1078511, hotness: undefined, score: 3, children: 0
veganpizza69 4 points 3 years ago

Can 2FA be enabled for all users? I don't see the link to activate it after saving.

edit

Yeah, this doesn’t work at all. The apps don’t open links anymore. I tried some github site that reads the link and generates a QR, but the codes don’t work. This is a complete waste of time.

path: 0 1064402 1066461, hotness: undefined, score: 4, children: 4
nelrico 6 points 3 years ago

Just reload the settings page after saving and you'll see the activation link. Just now enabled 2FA for my account.

path: 0 1064402 1066461 1067003, hotness: undefined, score: 6, children: 3
user224 5 points 3 years ago

Don't log out! Open private tab and try logging in to test that it works. Lemmy uses SHA-256 TOTP digest which may not work correctly with some authenticators, only generating useless codes.

path: 0 1064402 1066461 1067003 1067796, hotness: undefined, score: 5, children: 2
muddybulldog 2 points 3 years ago

The interface for TOTP need to be greatly improved as well. I made sure that I had two browsers logged in when I did it because the flow is so hinky. Not having a confirmation process was a bit nerve racking.

path: 0 1064402 1066461 1067003 1067796 1068714, hotness: undefined, score: 2, children: 0
veganpizza69 1 point 3 years ago

Yeah, this doesn't work at all. The apps don't open links anymore. I tried some github site that reads the link and generates a QR, but the codes don't work. This is a complete waste of time.

path: 0 1064402 1066461 1067003 1067796 1107828, hotness: undefined, score: 1, children: 0
xordos -6 points 3 years ago

Just curious if you turn yourself in to police everytime you speeding.

path: 0 1064402 1075076, hotness: undefined, score: -6, children: 2
YMS 5 points 3 years ago

This is not about turning you in, this is about protecting your users who all possibly just became victims of a crime, and for good reasons it's not fully upon you to decide whether the possible consequences of this are serious for those users.

path: 0 1064402 1075076 1075306, hotness: undefined, score: 5, children: 0
trouser_mouse 4 points 3 years ago

It's more that many people expect those handling their data to be seen to follow the correct procedures and be trusted to handle the data in a fair, transparent, safe and secure way - and in addition to protecting their users, companies are probably encouraged to abide by the regulations because it is very easy for anyone to report where they think action needs to be taken, and regulatory bodies may be more lenient where correct process has been followed.

If I chance a speeding or parking ticket I can't be fined nearly 20 million pounds, although I wouldn't trust some parking companies not to try it! (I'm not saying that would be the case in this instance.)

https://gdpr.eu/fines/

path: 0 1064402 1075076 1075430, hotness: undefined, score: 4, children: 0
HexesofVexes 77 points 3 years ago

Thanks for letting us know - this is the kind of transparency that I wish the world had more of!

path: 0 1074910, hotness: undefined, score: 77, children: 0
MarekKnapek 72 points 3 years ago

So what happened:

  • Someone posted a post.
  • The post contained some instruction to display custom emoji.
  • So far so good.
  • There is a bug in JavaScript (TypeScript) that runs on client's machine (arbitrary code execution?).
  • The attacker leveraged the bug to grab victim's JWT (cookie) when the victim visited the page with that post.
  • The attacker used the grabbed JWTs to log-in as victim (some of them were admins) and do bad stuff on the server.

Am I right?

I'm old-school developer/programmer and it seems that web is peace of sheet. Basic security stuff violated:

  • User provided content (post using custom emojis) caused havoc when processing (doesn't matter if on server or on client). This is lack of sanitization of user-provided-data.
  • JavaScript (TypeScript) has access to cookies (and thus JWT). This should be handled by web browser, not JS. In case of log-in, in HTTPS POST request and in case of response of successful log-in, in HTTPS POST response. Then, in case of requesting web page, again, it should be handled in HTTPS GET request. This is lack of using least permissions as possible, JS should not have access to cookies.
  • How the attacker got those JWTs? JavaScript sent them to him? Web browser sent them to him when requesting resources form his server? This is lack of site isolation, one web page should not have access to other domains, requesting data form them or sending data to them.
  • The attacker logged-in as admin and caused havoc. Again, this should not be possible, admins should have normal level of access to the site, exactly the same as normal users do. Then, if they want to administer something, they should log-in using separate username + password into separate log-in form and display completely different web page, not allowing them to do the actions normal users can do. You know, separate UI/applications for users and for admins.

Am I right? Correct me if I'm wrong.

Again, web is peace of sheet. This would never happen in desktop/server application. Any of the bullet points above would prevent this from happening. Even if the previous bullet point failed to do its job. Am I too naïve? Maybe.

Marek.

path: 0 1091491, hotness: undefined, score: 72, children: 17
FartsWithAnAccent 65 points 3 years ago

Damn, I go to bed early and I miss everything! Thanks for the quick resolution and transparent disclosure, this place is great!

path: 0 1071778, hotness: undefined, score: 65, children: 1
alaxitoo 61 points 3 years ago

Thank you for your work 🙏

path: 0 1063976, hotness: undefined, score: 61, children: 0
archy 58 points 3 years ago

This is really good to see such transparency from admins

path: 0 1079465, hotness: undefined, score: 58, children: 1
phillycodehound 57 points 3 years ago

Love the transparency!

path: 0 1072524, hotness: undefined, score: 57, children: 2
dylanTheDeveloper 51 points 3 years ago

Good thing we all use randomly generated passwords for every account and always remember to change them every few months.

path: 0 1089110, hotness: undefined, score: 51, children: 6
bluemellophone 42 points 3 years ago

Can we get another admin to sign off on this being authentic? In other words, short of a signed GPG signature how do we trust announcements after a breach where admin accounts are compromised?

path: 0 1064082, hotness: undefined, score: 42, children: 6
ruud 53 points 3 years ago path: 0 1064082 1064102, hotness: undefined, score: 53, children: 5
bluemellophone 16 points 3 years ago

Thanks for the reply!

path: 0 1064082 1064102 1064198, hotness: undefined, score: 16, children: 4
hawkwind 17 points 3 years ago

Don't fall for it. They're also an admin on mastodon.world! :)

path: 0 1064082 1064102 1064198 1065030, hotness: undefined, score: 17, children: 3
FlyingSquid 11 points 3 years ago

Now I don't know who to believe! Is Lemmy even real?

path: 0 1064082 1064102 1064198 1065030 1065652, hotness: undefined, score: 11, children: 2
SirPorthos 40 points 3 years ago

So thats why MalwareBytes gave me this message yesterday.

path: 0 1069399, hotness: undefined, score: 40, children: 6
nosut 40 points 3 years ago

Thanks for the work. As a heads up it appears most of the block instances are back however I believe explodingheads is still missing which you may want to confirm.

EDIT: it has been added back to the block list.

path: 0 1064014, hotness: undefined, score: 40, children: 1
Carnelian 1 point 3 years ago

Hey how do you check on that?

As of the time of me posting this comment, exploding heads is appearing in my feed with some anti lgbt posts. Idk what’s going on because I’m pretty sure they’re supposed to be defederated currently

path: 0 1064014 1107849, hotness: undefined, score: 1, children: 0
AlmightySnoo 38 points 3 years ago

the details of the vulnerability are already known now anyway since there's a fix that was proposed on the Lemmy GitHub so I don't think it will hurt others to talk about it

path: 0 1063990, hotness: undefined, score: 38, children: 13
namelivia 15 points 3 years ago

Could you please link the issue? Thanks!

path: 0 1063990 1064051, hotness: undefined, score: 15, children: 12
namelivia 31 points 3 years ago path: 0 1063990 1064051 1064086, hotness: undefined, score: 31, children: 11
AlmightySnoo 33 points 3 years ago

yup that's the one

what I find weird is that the "fix" still focuses only on the front-end, the issue is still that unescaped HTML is being stored in the database and still trusting the front-end is nuts

path: 0 1063990 1064051 1064086 1064222, hotness: undefined, score: 33, children: 9
Redex68 17 points 3 years ago

I mean, I'm pretty sure that for an XSS attack that's fine. The entire problem is that somebody posts e.g. a comment that contains code that is automatically run in users' browsers. If you make the front end just not execute that code then it's fine. Who cares what's stored in the back end?

I mean, it would still be better to have multiple fail-safes, and they probably should still sanitize text entering the database.

But this is sufficient for a quick fix.

path: 0 1063990 1064051 1064086 1064222 1064440, hotness: undefined, score: 17, children: 4
TheVampireSaga 7 points 3 years ago

I think the main developers are aware of either of them but I'm not sure, haven't seen anyone site admin wise talk about this mess.

path: 0 1063990 1064051 1064086 1064222 1064275, hotness: undefined, score: 7, children: 2
mathers 2 points 3 years ago

I think it makes sense to escape as close as possible to the context where the data will be used, see https://benhoyt.com/...

path: 0 1063990 1064051 1064086 1064222 1086772, hotness: undefined, score: 2, children: 0
sv1sjp 2 points 3 years ago

Oofof.. That's not suppose how we announce vulnerabilities...

path: 0 1063990 1064051 1064086 1065599, hotness: undefined, score: 2, children: 0
Aceticon 35 points 3 years ago

FYI: I had to clear my lemmy.world cookies in order to be able to successfully log back in.

(This was with Firefox)

(Edit: I also shift-clicked reload, which somebody pointed out does clean the cache for that page, so I also cleaned the cache).

path: 0 1078032, hotness: undefined, score: 35, children: 6
Sam1232188 34 points 3 years ago

Thank the heavens the meme community stayed safe through this without my daily dose of cybersecurity memes idk how I would function ;)

path: 0 1099819, hotness: undefined, score: 34, children: 1
MCForTheBest 33 points 3 years ago

How do we know that this isn't a fake announcement as well, trying to give us a sense of security???

Just kidding, thanks for letting us know! Thank god I haven't been too active the last few days! Can't afford my credentials being leaked, maybe I should be proactive and change my password anyways.

path: 0 1076987, hotness: undefined, score: 33, children: 2
NausetJF 32 points 3 years ago

Hopefully with more attention on the source code scary hacks like this doesn’t happen again.

path: 0 1074543, hotness: undefined, score: 32, children: 0
AlmightySnoo 32 points 3 years ago

Do we have any details on how Michelle's account was compromised? Right now in the GitHub issue about the vulnerability they're clueless about how the custom emoji exploit could be performed without first an already compromised admin account.

EDIT: yeah here's how: https://github.com/...

You do NOT need an admin account to do that. Any normal user could have done that.

path: 0 1079130, hotness: undefined, score: 32, children: 9
gnarly 32 points 3 years ago

Had to clear my browser catch to log in, Jerboa still shows as not logged in even after logging out which you do by clicking the hamburger menu then click the top banner to change/log out of accounts. This post is a test to see if my account works again via browser lol.

Edit: clearing app data/cache for Jerboa fixed the login issue.

path: 0 1071770, hotness: undefined, score: 32, children: 18
CaptObvious 29 points 3 years ago
path: 0 1098976, hotness: undefined, score: 29, children: 1
Gili 28 points 3 years ago

Took me a bit to realize I actually had to log out and log back in on Jerboa since it looked like I was still logged in but some interactions didn't work

path: 0 1068615, hotness: undefined, score: 28, children: 1
PagingDoctorLove 27 points 3 years ago

Can I ask some possibly dumb questions?

  1. What is JWT?
  2. Was any private user data compromised, and if so will users be informed?
  3. Is there anything regular users can do to avoid their data being compromised? For example, not accessing lemmy on certain web browsers?

Thank you!

path: 0 1066483, hotness: undefined, score: 27, children: 5
SnowFoxx 27 points 3 years ago

You guys really have my highest respect for spending so much time to keep this running, despite all the recent trouble and now even an attack.

Thank you very much <3 You guys are awesome and I really appreciate how publicly you deal with this.

path: 0 1098338, hotness: undefined, score: 27, children: 0
Nugget 26 points 3 years ago

I think this is a strong reminder: We shouldn't put all our eggs in one basket. This will happen again. Unlike Reddit, we don't need to concentrate all communities on one instance. We should all make an effort to spread out. Some other general use instances are:

Again, for those new, you can post content to any of these instances and interact with content from other instances at the same time, just like you can send an email from your Gmail account to your ProtonMail account.

path: 0 1083680, hotness: undefined, score: 26, children: 20
Boiglenoight 26 points 3 years ago

That was scary and exciting. Response seems competent and transparent. I ❤️ this place.

path: 0 1080034, hotness: undefined, score: 26, children: 0
asunaspersonalasst 24 points 3 years ago

So, do we change passwords, esp those who logged on during the attack? (I created this acct right before the attack happened tho.)

path: 0 1069590, hotness: undefined, score: 24, children: 4
rustydrd 24 points 3 years ago

Despite the fact that Lemmy is a fairly new piece of software, which makes these issues more likely, I am really grateful for it being open source, and I really appreciate this level of transparency.

path: 0 1077976, hotness: undefined, score: 24, children: 0
brittleback 24 points 3 years ago

Well done all involved. Sounds like it was caught and mitigated quickly

path: 0 1064036, hotness: undefined, score: 24, children: 0
nonagonOrc 22 points 3 years ago

Thank you for the transparency and swift solution!

path: 0 1069046, hotness: undefined, score: 22, children: 2
wee_butterfly 21 points 3 years ago

Any truth to what I've heard this may have been done by a group we defederated with?

path: 0 1084689, hotness: undefined, score: 21, children: 1
Notsosupermario 20 points 3 years ago

Thanks for fixing and being so open about it

path: 0 1087769, hotness: undefined, score: 20, children: 0
dr_scientist 18 points 3 years ago

Good job. I don't understand very much of that, so that makes me all the more grateful. Thank you.

path: 0 1063977, hotness: undefined, score: 18, children: 0
jarfil 18 points 3 years ago

How does this impact those using mobile apps like Jerboa or Liftoff, instead of the website directly?

path: 0 1065986, hotness: undefined, score: 18, children: 9
lemminer 10 points 3 years ago

Check the pinned post on liftoff community page.

https://lemmy.world/post/1292303

As a safety precaution logged-on sessions on many servers have been cancelled and you are required to logon again.

path: 0 1065986 1067128, hotness: undefined, score: 10, children: 2
jarfil 4 points 3 years ago

Thanks, I'll do that. Curiously, the lemmy.ml account keeps working, wonder what it depends on.

path: 0 1065986 1067128 1067202, hotness: undefined, score: 4, children: 1
lemminer 7 points 3 years ago

Probably cause they haven't cancelled the session

path: 0 1065986 1067128 1067202 1067318, hotness: undefined, score: 7, children: 0
TheVampireSaga 5 points 3 years ago

as someone who uses the app, extremely little effect from my experience, I didn't notice something was wrong at all until people pointed it out due to how liftoff does the whole sidebar thing for the instance.

It's still better to change your account password and clear your cache.

path: 0 1065986 1066556, hotness: undefined, score: 5, children: 0
MenacingMight 4 points 3 years ago

Was wondering this myself. Is there a way for users who where exposed to know about it?

(Edit) Eg if the exploit was through a post get notified if they saw the post?

path: 0 1065986 1066549, hotness: undefined, score: 4, children: 4
Cyyy 9 points 3 years ago

apparently they posted it as a weird image or emoji that looked like this:

path: 0 1065986 1066549 1067260, hotness: undefined, score: 9, children: 2
TheVampireSaga 4 points 3 years ago

HOLY SHIT I LUCKED OUT LMAO, I ALMOST CLICKED ON THAT EARLIER

path: 0 1065986 1066549 1067260 1067443, hotness: undefined, score: 4, children: 1
Cyyy 2 points 3 years ago

no need for clicking. if you saw it, it did execute code that stole your cookie (atleast on desktop..dunno about how it is in apps). they tried to steal admin accounts wirh that.

path: 0 1065986 1066549 1067260 1067443 1082420, hotness: undefined, score: 2, children: 0
jarfil 1 point 3 years ago

There is no need to get notified, they didn't steal passwords, just session cookies. Most (all?) servers have invalidated all the user login cookies, but if you are in doubt, just logging out and back in should be enough to get a new cookie.

path: 0 1065986 1066549 1163235, hotness: undefined, score: 1, children: 0
null 18 points 3 years ago

I just disabled whole "/admin" section on my instance and added nice message 😆

path: 0 1082220, hotness: undefined, score: 18, children: 4
betterdeadthanreddit 17 points 3 years ago

At least now we can mark off the "disruptive website defacement attack" line on the checklist of (relatively) new website growing pains. Better to have them make lots of noise and get fixed quickly than quietly do sneaky things in the background.

path: 0 1084649, hotness: undefined, score: 17, children: 2
TheAnonymouseJoker 17 points 3 years ago
path: 0 1081317, hotness: undefined, score: 17, children: 4
Alivrah 16 points 3 years ago

The quick fix is much appreciated, thank you and everyone that helped for your hard work!

path: 0 1085783, hotness: undefined, score: 16, children: 0
MeshPotato 16 points 3 years ago

Thanks for your efforts. I know that Lemmy was put in place rather quickly as a Reddit alternative. But I'm genuinely hopeful that this will be a good alternative.

path: 0 1063997, hotness: undefined, score: 16, children: 0
hal_5700X 16 points 3 years ago

Thanks for the transparancy about this.

path: 0 1068018, hotness: undefined, score: 16, children: 1
jennwiththesea 16 points 3 years ago

On Liftoff, I had to clear cache and storage in order to log back in. Still having issues with the website on Chrome, which keeps telling me I'm not logged in after clearing cache and logging back in.

path: 0 1100493, hotness: undefined, score: 16, children: 8
Chrishering33 15 points 3 years ago
path: 0 1075771, hotness: undefined, score: 15, children: 2
gsdsam 14 points 3 years ago

Could admins sign announcements with a PGP key to mitigate false admin posts and the consequences this might have? Or is this no longer necessary?

path: 0 1068077, hotness: undefined, score: 14, children: 8
pascal 13 points 3 years ago

That doesn't surprise me. Especially the "homemade" instances. The documentation is severely lacking and I had to fix lots of stuff in the instructions with try&despair to make my instance run.

There's not a great focus in security if your application starts with "step 1: install docker"

path: 0 1109914, hotness: undefined, score: 13, children: 1
cantevencode 13 points 3 years ago

Does an admin account have any permissions to view email addresses or data of registered users?

Did MichelleG not have 2FA enabled?

Now that this has happened, it's be worth pushing this issue through as high priority. If HttpOnly was enabled, then an admin takeover would not have been possible.

https://github.com/LemmyNet/lemmy-ui/issues/1252

path: 0 1064091, hotness: undefined, score: 13, children: 5
nosut 26 points 3 years ago

The JWT exploit bypasses 2FA requirements. It basically steals your active session and allows a third party to use it.

path: 0 1064091 1064138, hotness: undefined, score: 26, children: 3
cantevencode 8 points 3 years ago

Good point. I suppose the only way to fix that particular issue to disallow cookie authentications from a new location

path: 0 1064091 1064138 1064335, hotness: undefined, score: 8, children: 2
pazukaza 2 points 3 years ago

If by location you mean IP address, the XSS script could also send the IP address of the user to the attacker. Then the attacker could do write operations spoofing that IP. They wouldn't get a response but the write operation would be done anyways.

Maybe doing a 3 way handshake before every administrative action to ensure the IP wasn't spoofed? Idk, I'm not a security person.

  1. User sends IP and JWT + administrative action. I mean, IP is extracted from src addr, not sent.

  2. Server saves the command in a cache with a TTL of 10 seconds. Then sends a randomly generated string to the user. The random string is sent in A HTTP-only same-site cookie to avoid it being read by JS scripts or being sent to external domains.

  3. The user sends it's JWT + randomly generated string cookie back to the server. The server checks the cache. If an action is found, it is executed.

Edit: actually, after thinking about it. If the XSS is not sending the JWT to a remote location but running the attack directly in the victim's browser, there's nothing that can be done. XSS is fucked up.

path: 0 1064091 1064138 1064335 1066125, hotness: undefined, score: 2, children: 0
sudneo 2 points 3 years ago

Using proper cookie flags can also mitigate this. I am not sure there is a reason to have the session cookie accessible via JS. HttpOnly flag alone could have helped here.

path: 0 1064091 1064138 1064335 1066093, hotness: undefined, score: 2, children: 0
ugh 3 points 3 years ago

To answer one question, the admins are able to view email addresses I believe. My knowledge comes from "I read it in a comment awhile ago that sounded credible" so I could be wrong.

path: 0 1064091 1067089, hotness: undefined, score: 3, children: 0
irkli 13 points 3 years ago
path: 0 1097860, hotness: undefined, score: 13, children: 0
AlmightySnoo 13 points 3 years ago

One thing I don't get. Custom emojis can only be created by an admin, but you're saying an admin's account here got compromised because of that and not the other way around. Does that mean that an evil instance set a custom emoji with the injected JavaScript and propagated it to the federated instances?

path: 0 1064991, hotness: undefined, score: 13, children: 1
Calyhre 11 points 3 years ago

From the fix, I believe the custom emojis were not double checked after a user submits a post. The post data was used to display the emojis, and thus allowing injection.

The fix now is to search the emojis in the custom emojis list from the backend rather than the user post.

path: 0 1064991 1065325, hotness: undefined, score: 11, children: 0
slowcurrent 12 points 3 years ago

How do we know you're the real you? This all could be part of the plan!

path: 0 1076340, hotness: undefined, score: 12, children: 1
fikran 12 points 3 years ago

Ugh, people should not go after systems trying to give a free service to the internet. It just ruins everything.

path: 0 1138059, hotness: undefined, score: 12, children: 2
mintiefresh 12 points 3 years ago

Thanks for the great work. The response time was awesome, considering you were asleep as well.

path: 0 1085173, hotness: undefined, score: 12, children: 0
TrickyCamel 12 points 3 years ago

Thanks for the transparency.

path: 0 1079269, hotness: undefined, score: 12, children: 0
harry_h0udini911 12 points 3 years ago

Great lemmies! Thanks for uniting us.

path: 0 1071845, hotness: undefined, score: 12, children: 0
cheeseblintzes 11 points 3 years ago

Once again, thank you guys for all that you do. As many other people are saying, appreciate the transparency about these things.

path: 0 1098452, hotness: undefined, score: 11, children: 1
eluri 11 points 3 years ago

Soo it looks like the entry for this instance was also changed on https://lemmyverse.net/ . At least I hope it is the hack

path: 0 1074594, hotness: undefined, score: 11, children: 6
ColleenLawson 11 points 3 years ago

Yah, I noticed my Lemmies auto-corrupted to Lemurs.

I don't care. I'm keeping it.

Lemurs are cute.

path: 0 1077362, hotness: undefined, score: 11, children: 1
Tuesdays 11 points 3 years ago

I had to create a new account. I tried enabling 2FA on my main account a week ago, but was never able to generate a token. Now when I try logging in it is asking for my 2FA token. Is there any way to get my account back. I'm a moderator of a community.

path: 0 1090679, hotness: undefined, score: 11, children: 4
giant_smeeg 10 points 3 years ago
path: 0 1064008, hotness: undefined, score: 10, children: 3
AlmightySnoo 20 points 3 years ago

see the GitHub repo, it's new

path: 0 1064008 1064039, hotness: undefined, score: 20, children: 0
ruud 16 points 3 years ago

It's not fixed yet in the current version

path: 0 1064008 1064055, hotness: undefined, score: 16, children: 0
hawkwind 4 points 3 years ago

Concerns were posted a few days ago, but no POC that used the exact same attack as we saw here. Basically, there were some warnings, and work was underway that would have prevented this, but it was not done fast enough. There is a patch now, that will take a while to roll out, plus a renewed focus on general and related issues.

path: 0 1064008 1065151, hotness: undefined, score: 4, children: 0
ulu_mulu 10 points 3 years ago

Amazing how you quickly reacted to this!! Bravo!!

TIP: if you can't login after what happened, clear out your browser cache including ALL cookies, that fixes it (it did for me at least). I believe it's also advisable to change lemmy password.

path: 0 1066282, hotness: undefined, score: 10, children: 0
feedum_sneedson 10 points 3 years ago

I can only log in on incognito mode, which makes me think my cookie has been stolen or whatever. So my question is, what should I be doing about that?

path: 0 1084176, hotness: undefined, score: 10, children: 11
LeHappStick 9 points 3 years ago

Pardon the ignorance, but how do I know if I was compromised? what do?

path: 0 1082542, hotness: undefined, score: 9, children: 11
Legendsofanus 9 points 3 years ago

This is so sad lmao rip. With any site growing as fast as these instances (because of the Reddit folk) Ig these attacks are to be expected. Hope everyone's accounts and personal info are okay

path: 0 1106705, hotness: undefined, score: 9, children: 0
mackwinston 9 points 3 years ago

This is why I've decided against running my own Lemmy instance. Too much work to have to keep up constantly with updating, too big of an attractive target for attackers.

path: 0 1072817, hotness: undefined, score: 9, children: 3
WhoRoger 9 points 3 years ago

Interesting.

Attackers started changing site settings and posting fake announcements etc

So at least that wasn't 100% malicious, otherwise they could've kept the vuln hidden and just collect data and whatnot.

On the other hand, who cared enough about Lemmy to hack it? Weird.

path: 0 1067549, hotness: undefined, score: 9, children: 4
00Xero00 9 points 3 years ago

I can't log into my account anymore, this one is a new one I've just made. I tried to reset my password but nothing came in the mailbox. I can still see comments and posts from that account though.

It's this one:

And I don't know why but I can't save the profile pic for this account.

Edit: Nvm, I use another email to sign up for Lemmy and forgot about it

path: 0 1066231, hotness: undefined, score: 9, children: 2
Jozzo 5 points 3 years ago

You need to delete all cookies for lemmy.world in your browser, then log in again.

path: 0 1066231 1066585, hotness: undefined, score: 5, children: 1
0Xero0 2 points 3 years ago

nvm, I used my other email for Lemmy and completely forgot about it :v , I can log back in now

I think I fucked up, I check the 2FA on the new account but didn't click on send 2FA code, now I can't log back in to edit the comment

edit: I have another tab opened with that account and it's still fine, I've just edited the comment

path: 0 1066231 1066585 1067107, hotness: undefined, score: 2, children: 0
Macaroni_ninja 9 points 3 years ago

As someone in EU I didn't even realized there was an issue. Well done and great reaction time! Also thank you for the transparency 👑

path: 0 1066087, hotness: undefined, score: 9, children: 0
godless 8 points 3 years ago

With the JWT secret rotation, shouldn't everyone be forced to re-login? I'm posting with my existing session without any changes.

path: 0 1064229, hotness: undefined, score: 8, children: 2
Vupperware 4 points 3 years ago

FWIW,, I had to re-log

path: 0 1064229 1065004, hotness: undefined, score: 4, children: 0
s08nlql9 2 points 3 years ago

better to re-login i guess

path: 0 1064229 1065056, hotness: undefined, score: 2, children: 0
001100010010 8 points 3 years ago
path: 0 1065290, hotness: undefined, score: 8, children: 2
ollie 9 points 3 years ago

afaik, exploit does not pass through federation. but you should change your password just in case.

it doesn't and probably cannot infect your device

path: 0 1065290 1065635, hotness: undefined, score: 9, children: 0
gabriele97 1 point 3 years ago

I am still not sure about it, but if a compromised comment reached your instance (through federation) and users in your instances viewed that comment, they have been hacked too.

MAYBE you are safe If your instance has no custom emojis enabled.

path: 0 1065290 1065529, hotness: undefined, score: 1, children: 0
dorumon 8 points 3 years ago

Well that's just great it really is a shame though how some people would actively want to ruin something free like this just because they can.

path: 0 1142037, hotness: undefined, score: 8, children: 1
iMike 8 points 3 years ago

Must have been jealous spez

path: 0 1092148, hotness: undefined, score: 8, children: 0
JohnSaveourSocks 8 points 3 years ago

Rock on, Rudd.

path: 0 1064010, hotness: undefined, score: 8, children: 0
Autumbloom 8 points 3 years ago

Thanks for the transparency. Was having issues with Lemmy, now seems everything back to normal. Got a question, Just to add an extra layer of security, Do i need to use ToR or VPN with Lemmy ?

path: 0 1086805, hotness: undefined, score: 8, children: 2
washashore 7 points 3 years ago
path: 0 1072130, hotness: undefined, score: 7, children: 1
AccidentalLemming 7 points 3 years ago
path: 0 1127611, hotness: undefined, score: 7, children: 1
debeluhar 6 points 3 years ago

I wasn't using webpage, I was only using mobile app (Connect). Could my coockie be also stolen that way or was that only possible on webpage?

path: 0 1068060, hotness: undefined, score: 6, children: 1
TheVampireSaga 6 points 3 years ago path: 0 1064461, hotness: undefined, score: 6, children: 0
adamlc 6 points 3 years ago

Thanks all working again. Had to clear my browser cache in order to login again and had to resign in to memmy too.

I guess its early days for lemmy for incidents like this, fingers crossed something like this doesn't happen again :)

path: 0 1065405, hotness: undefined, score: 6, children: 1
sab 6 points 3 years ago

It's a nice reminder that those with the skills but not the bad intentions would be welcome to look through the source code for vulnerabilities and report/patch anything they might find. :)

path: 0 1065405 1065927, hotness: undefined, score: 6, children: 0
xylogx 6 points 3 years ago

I noticed this morning for a small amount of my posts with pictures, maybe 5-10%, the pictures were deleted or missing. Not sure if this is related to the incident.

path: 0 1072509, hotness: undefined, score: 6, children: 2
Reliant1087 6 points 3 years ago

Thank you for taking the time to update this :) Hope everything will be sorted out without people being scared. As a layman, was any user data compromised?

path: 0 1064017, hotness: undefined, score: 6, children: 0
SnowGlobal 6 points 3 years ago

Excellent, thanks for the quick response ruud and admins.

path: 0 1077150, hotness: undefined, score: 6, children: 0
aussiematt 6 points 3 years ago

It seems there is no way in Lemmy to invalidate all your session cookies? Without that, how can you secure an account which has a stolen session cookie?

path: 0 1115023, hotness: undefined, score: 6, children: 2
Pillarist 5 points 3 years ago

I had an issue of being logged out of my account and could not log back in, after closing and reopening the site, closing browser, etc until I cleared my cookies, then it let me back in. If that helps anyone.

path: 0 1067228, hotness: undefined, score: 5, children: 2
kluevo 5 points 3 years ago

TY to everyone itt who commented on how to fix the 3rd party app issues.

I was panicking when liftoff went wonky

path: 0 1075611, hotness: undefined, score: 5, children: 0
wildcelt 5 points 3 years ago

Poor beehaw.org is still down

path: 0 1073121, hotness: undefined, score: 5, children: 3
xandowsk 5 points 3 years ago

Congratulations everyone on the quick fix/mitigation!

path: 0 1077783, hotness: undefined, score: 5, children: 0
alaxitoo 5 points 3 years ago

I found this in my private messages, when an attack was happening I messaged the guy “are you ok” and he replied back to me with an image of my own message… I wonder if this was similar to what was done here? Was 8 days ago

path: 0 1064277, hotness: undefined, score: 5, children: 4
mayo 8 points 3 years ago

Possible that they've had access for days, and different accounts were breached at different times.

path: 0 1064277 1064928, hotness: undefined, score: 8, children: 0
ruud 8 points 3 years ago

No that was something else

path: 0 1064277 1064573, hotness: undefined, score: 8, children: 1
alaxitoo 4 points 3 years ago

Thanks for clarifying 🙏

path: 0 1064277 1064573 1064632, hotness: undefined, score: 4, children: 0
woelkchen 1 point 3 years ago path: 0 1064277 1068205, hotness: undefined, score: 1, children: 0
DarkSpectrum 5 points 3 years ago

Had to re-login in the Connect app

path: 0 1078261, hotness: undefined, score: 5, children: 0
tamal3 5 points 3 years ago

Thanks for the info, Ruud. I just put in for a monthly donation to you all -- I appreciate you.

path: 0 1075322, hotness: undefined, score: 5, children: 0
PolarBone 5 points 3 years ago

I’ve been unable to login on desktop since this happened. Only been able to login via Memmy on IOS.

I put in my info and it kicks me back to the front page and doesn’t log me in.

I’ve tried clearing cache too

EDIT: Switching browser to Edge seemed to let me. Weird. Even reinstalled Firefox and still won't let me.

path: 0 1131441, hotness: undefined, score: 5, children: 1
itsdavetho 5 points 3 years ago

Would it be a good idea to force a login if the users IP or device suddenly changes?

path: 0 1096955, hotness: undefined, score: 5, children: 6
Monochromepsychward 5 points 3 years ago

What are the risks for people who use Jerboa for Lemmy? I logged put and back in and there doesn't seem to be any issues, so are the app users excluded from this?

path: 0 1069551, hotness: undefined, score: 5, children: 2
CascadianBeam 5 points 3 years ago

Testing… I have to keep trying this because memmy is being a dick.

path: 0 1104446, hotness: undefined, score: 5, children: 1
ludw 5 points 3 years ago

A lot of images seems to be gone from posts in /c/pics is this related to the hack or the cleanup after?

path: 0 1064207, hotness: undefined, score: 5, children: 1
Desistance 4 points 3 years ago

I heard there was some sort of database rollback to an uncompromised snapshot.

path: 0 1064207 1065388, hotness: undefined, score: 4, children: 0
Magiwarriorx 5 points 3 years ago

Is it possible cookies for other websites were scraped? I was logged in to .world at the time; I have logged out of all accounts, and reset passwords as a precaution, but want to know if I should be on the lookout from this.

path: 0 1065383, hotness: undefined, score: 5, children: 1
sudneo 10 points 3 years ago

No, in general it's not possible because the code in a page cannot access cookies that are bound to other domains. It is only possible if the "other" site misconfigured its own cookies (which is really not likely for stuff you would care about).

path: 0 1065383 1066052, hotness: undefined, score: 10, children: 0
stink_pickle 4 points 3 years ago

Um, probably coincidence or a false posi, but malwarebytes is labeling lemmy.worldtoday as being compromised / malicious when following external links, it's only popped up twice, but here's a slightly redacted log file:

-Log Details- Protection Event Date: 7/10/23 Protection Event Time: 1:24 PM

-Software Information- Version: 4.5.33.272 Components Version: 1.0.2069 Update Package Version: 1.0.72209 License: Premium

-System Information- OS: Windows 11 (Build 22621.1928) CPU: x64 File System: NTFS User: System

-Blocked Website Details- Malicious Website: 1 , C:\Program Files\Google\Chrome Beta\Application\chrome.exe, Blocked, -1, -1, 0.0.0, ,

-Website Data- Category: Compromised Domain: lemmy.today

(end)

path: 0 1084093, hotness: undefined, score: 4, children: 2
padjakkels 4 points 3 years ago

Thanks for the quick reaction and TRANSPARENCY!!

path: 0 1064233, hotness: undefined, score: 4, children: 0
TheFonz 4 points 3 years ago

Seem to have a hard time loging in

path: 0 1153382, hotness: undefined, score: 4, children: 1
zaggynl 4 points 3 years ago

That explains why I had to clear my browser cache, I was unable to login until I did.

path: 0 1124843, hotness: undefined, score: 4, children: 0
Uncle_Iroh 4 points 3 years ago

You guys are quick!

path: 0 1066937, hotness: undefined, score: 4, children: 0
ruins__jokes 4 points 3 years ago

Not too promising, hopefully it's fixed quickly.

path: 0 1108374, hotness: undefined, score: 4, children: 1
dreadedsemi 4 points 3 years ago

I hope devs will examine all parts of the code that display content to make sure proper sanitization

path: 0 1068130, hotness: undefined, score: 4, children: 0
IverCoder 4 points 3 years ago

I heard that some instances were defaced. Any examples of this? I wasn't online this noon so I never got to see any action.

path: 0 1069534, hotness: undefined, score: 4, children: 5
Aloomineum 4 points 3 years ago

Passwords were leaked?

path: 0 1075043, hotness: undefined, score: 4, children: 5
Tom2day 3 points 3 years ago

Hmm. Liftoff won't let me post but shows logged in and as a newbie be damned if I can find where to log out.

path: 0 1073177, hotness: undefined, score: 3, children: 3
Molecular0079 3 points 3 years ago

Thanks for the post-mortem and the quick fix! Glad you guys around to help battle test Lemmy's code.

path: 0 1064139, hotness: undefined, score: 3, children: 0
CaptainProton 3 points 3 years ago

Occasional cookie deletions I understand, but will sign-ins persist in the future?

path: 0 1153451, hotness: undefined, score: 3, children: 0
ReepusVanguard 3 points 3 years ago

My main is locked up and it sucks, i hope this all gets fixed.

path: 0 1081309, hotness: undefined, score: 3, children: 1
daniskarma 3 points 3 years ago

Thanks for the quick response! This admin team rules!

path: 0 1067685, hotness: undefined, score: 3, children: 0
TWeaK 3 points 3 years ago

Is a password change advised? How does the JWT cookie and exploit effect apps eg Jerboa?

path: 0 1065218, hotness: undefined, score: 3, children: 1
henfredemars 3 points 3 years ago

You will have to login again for those apps. As far as we know, the exploit doesn't allow someone to actually steal your password directly, just the session you were logged into.

However, it is my personal opinion that you should change your password anyway out of an abundance of caution.

path: 0 1065218 1084020, hotness: undefined, score: 3, children: 0
Jakdracula 3 points 3 years ago

I’d like to logout, then log back in, because I can’t upvote / downvote- how do I logout? I can’t seem to find a logout button.

path: 0 1070441, hotness: undefined, score: 3, children: 4
ZombieZookeeper 3 points 3 years ago

Damnit, spez.

path: 0 1087401, hotness: undefined, score: 3, children: 0
Saad07 3 points 3 years ago

So that was why the logo and name was changed to israel. And for some reason getting redirected to a gif that was from lemmy

path: 0 1103479, hotness: undefined, score: 3, children: 0
V4uban 3 points 3 years ago

Thank you for your fast answer!

path: 0 1064128, hotness: undefined, score: 3, children: 0
JohnDolt 3 points 3 years ago

Good shit! Thanks for keeping things up and the pretty quick response as well.

path: 0 1064084, hotness: undefined, score: 3, children: 0
Simodeus 3 points 3 years ago

It seems that I lost all my subs. There were not many but still annoying.

E: Still subbed but can't see those in Voyager.

path: 0 1065078, hotness: undefined, score: 3, children: 1
vampyre 2 points 3 years ago

I thought I’d lost mine too, and when I checked the community I wasn’t subbed. I could still view my profile, comments and posts though.

I cleared the cache, then tried to post here and it said I was logged out (even though I could see all my activity except subs). I couldn’t see any way to logout, so I edited my profile and re-entered my password then hit save. That seems to have fixed it, now I can post and my subs are back.

path: 0 1065078 1065580, hotness: undefined, score: 2, children: 0
Kyoyeou 3 points 3 years ago

May I ask was is the JWS coockinand if it is automatically changed or if we have to change it in a way?

path: 0 1088159, hotness: undefined, score: 3, children: 2
aqua 3 points 3 years ago

Should I change passwords or no?

path: 0 1090445, hotness: undefined, score: 3, children: 11
NausetJF 3 points 3 years ago

I appreciate the transparency. Hopefully with more eyes on the source code hacks like this will not happen again.

path: 0 1074690, hotness: undefined, score: 3, children: 2
Noedel 2 points 3 years ago

Is this why I had to sign in and out of my account on liftoff?

I couldn't comment untill I did that. There may be others!

path: 0 1064951, hotness: undefined, score: 2, children: 1
anonymous_bot 1 point 3 years ago

I had a similar issue where my subscriptions were blank. A logout and re-login fixed it. Thanks.

path: 0 1064951 1101197, hotness: undefined, score: 1, children: 0
Nomadic 2 points 3 years ago

Maybe there needs to be a quick rundown how to actually log out and in on clients, seems you can't with jerboa without just wiping the app, and wefwef, you need to delete all accounts.

I see some instances are throwing server errors

path: 0 1071383, hotness: undefined, score: 2, children: 0
BugleFingers 2 points 3 years ago

Because I am obsessed with bugles, any comment or post I make that does not manage to fit bugles in somewhere (because I always have room for bugles) will be an imposter!

Thank you for the transparency and keeping my nefarious bugle consumption private!

path: 0 1083390, hotness: undefined, score: 2, children: 0
donut4ever 2 points 3 years ago

Still unable to log in. Is this everyone or just me?

path: 0 1084988, hotness: undefined, score: 2, children: 6
obinice 2 points 3 years ago

Is this why Jerboa seems to not work any more? It keeps insisting I'm not logged in, when I am, showing me as anonymous, but also showing my profile details, not letting me interact with things, etc... It's been a big problem these past few days making Lemmy unusable :-(

path: 0 1106641, hotness: undefined, score: 2, children: 3
TrueStoryBob 2 points 3 years ago

Thanks for keeping us up dated!

path: 0 1105788, hotness: undefined, score: 2, children: 0
gabriele97 2 points 3 years ago

How are you preventing it to happen again until a patch is released from devs?

path: 0 1065546, hotness: undefined, score: 2, children: 1
sab 9 points 3 years ago

We removed the vulnerability

It's open source, they can just fix it themselves until it's released. :)

path: 0 1065546 1065765, hotness: undefined, score: 9, children: 0
jlem 2 points 3 years ago
path: 0 1087309, hotness: undefined, score: 2, children: 0
possiblylinux127 2 points 3 years ago

This seems way worse than they are making it sound.

path: 0 1101788, hotness: undefined, score: 2, children: 1
earthseedle 2 points 3 years ago

Thanks for fixing it.

path: 0 1067898, hotness: undefined, score: 2, children: 0
sheetmysharts 2 points 3 years ago

Thanks to everyone involved for the quick response 👍

path: 0 1065219, hotness: undefined, score: 2, children: 0
Rooki 2 points 3 years ago

Is there a rough time range when it happened? and any news about other big instances like lemmy.ml? Are those safe? Currently they are not on the same version as lemmy.world.

path: 0 1065233, hotness: undefined, score: 2, children: 1
henfredemars 3 points 3 years ago

2:11 UTC is my first record of the event taking place, but keep in mind the attacker could have injected code long before without noticeable impacts. There's no way to be completely certain they didn't steal tokens and access accounts before they made themselves known.

path: 0 1065233 1083985, hotness: undefined, score: 3, children: 0
Staff 2 points 3 years ago

👍

path: 0 1091347, hotness: undefined, score: 2, children: 0
medvedev 2 points 3 years ago

thanks to admin team for resolving that quickly

path: 0 1065877, hotness: undefined, score: 2, children: 0
favrion 2 points 3 years ago

Is that why Liftoff wasn't loading?

path: 0 1092762, hotness: undefined, score: 2, children: 11
weeahnn 2 points 3 years ago

is that why I can't log into my lemmy.world account?

path: 0 1064328, hotness: undefined, score: 2, children: 1
weeahnn 2 points 3 years ago

ok not a problem anymore. seems like I just had to clear my cache and it let me log in

path: 0 1064328 1064401, hotness: undefined, score: 2, children: 0
downpunxx 2 points 3 years ago

******* This happened to me, one of my posts had it's photo deleted (I didn't delete it), then when I replaced it, the next time I checked the entire post had been deleted.

path: 0 1064645, hotness: undefined, score: 2, children: 0
mourkeer 2 points 3 years ago

I lost some of my post history. Is there a data issue that's come from this? Why are my comments gone?

path: 0 1065375, hotness: undefined, score: 2, children: 2
pgetsos 2 points 3 years ago

If it is only recent post history, maybe it was purged along with many malicious comments/posts

path: 0 1065375 1065850, hotness: undefined, score: 2, children: 1
mourkeer 2 points 3 years ago

I know but this was over a week of comments lost.

path: 0 1065375 1065850 1065874, hotness: undefined, score: 2, children: 0
chokidar 2 points 3 years ago

Well done on acting on it so quickly. I think I did see some of the fake announcements you were referring too but were taken down very quickly. Keep up the good work team and thanks for everything you are doing!

path: 0 1065146, hotness: undefined, score: 2, children: 0
Tom2day 2 points 3 years ago

Thanks.

path: 0 1074312, hotness: undefined, score: 2, children: 0
TrismegistusMx 2 points 3 years ago

Is this why I can't log in on Chrome? I switched to Firefox and it worked.

path: 0 1076618, hotness: undefined, score: 2, children: 4
hacktheegg 2 points 3 years ago

Huh, i think i got lucky by forgetting that there is something i can consume other than youtube

path: 0 1143945, hotness: undefined, score: 2, children: 0
ninekeysdown 2 points 3 years ago

Great job everyone! Keep it up! Love the transparency!

path: 0 1076865, hotness: undefined, score: 2, children: 0
CoffeeJunkie 2 points 3 years ago
path: 0 1137840, hotness: undefined, score: 2, children: 0
jpants 2 points 3 years ago

I see you, Imposter.

path: 0 1077294, hotness: undefined, score: 2, children: 0
vladmech 2 points 3 years ago

Thanks for the update, I appreciate the transparency.

path: 0 1079206, hotness: undefined, score: 2, children: 0
tobier 1 point 3 years ago

Thanks for being open about this and quick to fix it!

path: 0 1064253, hotness: undefined, score: 1, children: 0
subash 1 point 3 years ago

cool

path: 0 1125714, hotness: undefined, score: 1, children: 0
subash 1 point 3 years ago

cool

path: 0 1125284, hotness: undefined, score: 1, children: 0
Atiran 1 point 3 years ago

One of the reasons I used a throwaway email here.

path: 0 1067475, hotness: undefined, score: 1, children: 0
mayo 1 point 3 years ago

Had an issue at work not long ago involving stolen tokens and back then it looked as if the token was scraped along with a lot of other web traffic and then about 12 days later they gained access.

path: 0 1064406, hotness: undefined, score: 1, children: 1
ruud 2 points 3 years ago

Luckily the tokens have been invalidated by updating the secret

path: 0 1064406 1077319, hotness: undefined, score: 2, children: 0
iamsorry 1 point 3 years ago
path: 0 1109423, hotness: undefined, score: 1, children: 0
sma3in 1 point 3 years ago

that is why I got logged off from my account this morning!! impressed by the rapid intervention!! Good job lemmy team!

path: 0 1065321, hotness: undefined, score: 1, children: 0
coconutxyz 1 point 3 years ago
path: 0 1064471, hotness: undefined, score: 1, children: 2
s08nlql9 4 points 3 years ago path: 0 1064471 1065212, hotness: undefined, score: 4, children: 1
coconutxyz 3 points 3 years ago
path: 0 1064471 1065212 1065365, hotness: undefined, score: 3, children: 0
mayo 1 point 3 years ago

Been busy for lemmy team lately hopefully it's not too much

path: 0 1064787, hotness: undefined, score: 1, children: 0
binary45 1 point 3 years ago

Is that why I got logged off?

path: 0 1065088, hotness: undefined, score: 1, children: 2
mayo 4 points 3 years ago

Yes.

Also it looks like some images from posts are kind of gone

path: 0 1065088 1065109, hotness: undefined, score: 4, children: 1
binary45 2 points 3 years ago

Thank you. I’ll be changing my password.

path: 0 1065088 1065109 1065127, hotness: undefined, score: 2, children: 0
miraclerandy 1 point 3 years ago
path: 0 1093464, hotness: undefined, score: 1, children: 0
urbanracer34 1 point 3 years ago

Should apps have logged themselves out?

path: 0 1090453, hotness: undefined, score: 1, children: 1
creed10 1 point 3 years ago

I had to clear jerboa's app data so I could log in again. so strange

path: 0 1087751, hotness: undefined, score: 1, children: 1
JoumanaKayrouz 1 point 3 years ago
path: 0 1072031, hotness: undefined, score: 1, children: 0
xortingen 1 point 3 years ago

Thanks for the quick response. Do we know if there was any data leak?

path: 0 1064123, hotness: undefined, score: 1, children: 0
ext23 1 point 3 years ago

So is it safe to log back in?

path: 0 1064276, hotness: undefined, score: 1, children: 1
ruud 3 points 3 years ago

Yes

path: 0 1064276 1064558, hotness: undefined, score: 3, children: 0
SRSAutistic 1 point 2 years ago
path: 0 13690542, hotness: undefined, score: 1, children: 0
avocado 1 point 3 years ago
path: 0 1136920, hotness: undefined, score: 1, children: 0
MattGade 1 point 3 years ago

I couldn't login last weekend, couldn't that be te reason

path: 0 1136360, hotness: undefined, score: 1, children: 0
where_am_i -1 points 3 years ago
path: 0 1099533, hotness: undefined, score: -1, children: 1
PloKoon -2 points 3 years ago

Does this have anything to do with the Wefwef app name change?

path: 0 1080829, hotness: undefined, score: -2, children: 1
Logical -2 points 3 years ago

Thanks for the update. Can you update us on whether or not you are planning to block threads.net?

path: 0 1125696, hotness: undefined, score: -2, children: 0
lemmyworld
lemmyworld

@lemmy.world

login for more options
31279
770
44

This Community is intended for posts about the Lemmy.world server by the admins.

Follow us for server news 🐘

Outages 🔥

https://status.lemmy.world

For support with issues at Lemmy.world, go to the Lemmy.world Support community.

Support e-mail

Any support requests are best sent to info@lemmy.world e-mail.

Report contact

Donations 💗

If you would like to make a donation to support the cost of running this platform, please do so at the following donation URLs.

If you can, please use / switch to Ko-Fi, it has the lowest fees for us

Ko-Fi (Donate)

Bunq (Donate)

Open Collective backers and sponsors

Patreon

Join the team

go to feed...