Lemmy just had its first major hack. What happens next:

https://lemmy.world/post/1299831

Lemmy just had its first major hack. What happens next: - LemmyWorld

Hi all, If you’re just now signing in for the first time in 12+ hours, you may just now be finding out that Lemmy World and other instances where hijacked. The hijackers had the full abilities of hijacked user, mod, and admin accounts. At this time, I am only aware of instance defacing and URL redirections to have been done by the hijackers. If you were not forced to sign back in this morning, contact your instance admin to verify mitigations were completed on your instance. ## How? This occurred due to an XSS attack [https://owasp.org/www-community/attacks/xss/] in the recently added custom emojis. Instance admins should follow the issue tracker on the LemmyNet GitHub [https://github.com/LemmyNet], as well as the Matrix Chat [https://matrix.to/#/#lemmy-space:matrix.org]. Post-Incident Activity is still on-going. Currently, it is likely that just your session cookie was stolen, with instance admins being targeted specifically by checking for navAdmin, an HTML element only instance admins had. I do not believe this to affect users across instances, but I have yet to confirm this. ## What happens next? As I am not the developers or affected instance admins, I cannot make any guarantees. However, here is what you’ll likely see: 1. Post Incident investigation continues. This will include inspecting code, posts, websites, and more used by the hijackers. An official incident writeup may occur. You should expect the following from that report: - Exactly what happened, when. - The incident response that occurred from instance admins - Information that might have helped resolve the issue sooner - Any issues that prevented successful resolution - What should have been done differently by admins - What should be improved by developers - What can be used to identify the next attack - What tools are needed to identify that information 2. A CVE is created. This is an official alert of the issue, and notifies security experts (and enthusiasts), even those not using lemmy, about the issue. 3. A code security audit is done. This will likely just be casual reviews by technical lemmy users. However, I will be reaching out to the Mozilla Foundation and Cure53 as they recently did an audit of Mastodon. If there is interest in an external audit of lemmy and the costs are affordable, I’ll look into crowdfunding this cost.

Was lemmy.ml affected ?
Only Lemmy instances with custom emoticons were affected based on the Recap of the Lemmy XSS incident. So if Lemmy.ml doesn’t have these it should not have been affected.
Recap of the Lemmy XSS incident & steps for mitigation - LemmyWorld

# UPDATE: The latest RC version of Lemmy-ui (0.18.2-rc.2) contains fixes for the issue, but if you believe you were vulnerable, you should still rotate your JWT secret after upgrading! Read below for instructions. Removing custom emoji is no longer necessary after upgrading. Original post follows: ---- This post is intended as a central place that admins can reference regarding the XSS incident from this morning. ### What happened? A couple of the bigger Lemmy instances had several user accounts compromised through stolen authentication cookies. Some of these cookies belonged to admins, these admin cookies were used to deface instances. Only users that opened pages with malicious content during the incident were vulnerable. The malicious content was possible due to a bug with rendering custom emojis. Stolen cookies gave attackers access to all private messages and e-mail addresses of affected users. ### Am I vulnerable? If your instance has ANY custom emojis, you are vulnerable. Note that it appears only local custom emojis are affected, so federated content with custom emojis from other instances should be safe. ### I had custom emojis on my instance, what should I do? This should be enough to mitigate now: 1. Remove custom emoji DELETE FROM custom_emoji_keyword; DELETE FROM custom_emoji; 2. Rotate your JWT secret (invalidates all current login sessions) -- back up your secret first, just in case SELECT * FROM secret; -- generate a new secret UPDATE secret SET jwt_secret = gen_random_uuid(); 3. Restart Lemmy server If you need help with any of this, you can reach out to me on Matrix (@sunaurus:matrix.org) or on Discord (@sunaurus) ### Legal If your instance was affected, you may have some legal obligations. Please check this comment for more info: https://lemmy.world/comment/1064402 [https://lemmy.world/comment/1064402] ##### More context: https://github.com/LemmyNet/lemmy-ui/issues/1895 [https://github.com/LemmyNet/lemmy-ui/issues/1895] https://github.com/LemmyNet/lemmy-ui/pull/1897 [https://github.com/LemmyNet/lemmy-ui/pull/1897]

Well, I’m glad I didn’t bother to add them.
I think generally the less flashy features (pun intended) the better. Text and links (and well sanitized) is all we need.
Yeah. Hopefully the devs will learn to wait before pushing new technologies that don’t really matter. (they won’t)