Hey everyone, this exploit is present in the custom emoji feature of Lemmy. Because lemdro.id does not use custom emojis, we are not vulnerable at this time.
Swear this is the same guy that did the trending community spam a few days ago, he was angry about being banned for squatting on known subreddit names here on Lemmy, even the compromised admin account said something about it in her comments before this happened š¤¦āāļø
Wait, was that the one that had a community list well into the twenties? Or was that someone else? I don't think all that stuff reached me, but I did hear about a wannabe powermod like a week and a half ago. Much good that does anyone in a defederated system.
His username at the time was āLMAOā and I think soā¦ he did it again on another Lemmy instance but used a different username that time as well š
Deeply unfortunate that something like this could happen, you always hope that code injection vulnerabilities are found before someone is hacked. With that in mind, this shows the importance of two security principles: always parse and clean user input and don't click links (including images) before checking where they are going to send you.
This used an onLoad which isn't generally shown when you hover over a link in a browser. Most people, even devs, aren't going to jump on the console to check every link.
And inside hidden is JavaScript code that when executed can take cookie information and send it to a URL address.
Among other things. At this time if you see an image please click the icon circled before clicking the link. DO NOT CLICK THE IMAGE. If you see anything suspicious, please report it immediately.
It is better a false report than a missed one.
I have seen multiple posts by these people during the attack. It is most certainly related to JS.
That's even worse, if Lemmy has a vulnerability like that it needs to get fixed ASAP... Also if that code actually works, I am going to have to secure my account.
Clicking the image isn't the issue, scrolling by it will nab your Auth tokens. Resetting your password will reset the Auth tokens protecting your account.
A sign out everywhere button would fix it but that isn't an option yet. It really needs to be.
Wtf how is this even possible? Are the Lemmy devs smoking crack? If you're going to run a reddit alternative, it may be wise to sanitize the fuck out of everything posted on there.
When I wanted to do some lemmying earlier, the LemmyWorld logo said 'Israel', and when I put my cursor over it, it said 'N***a Style.
Then when I clicked the logo (stupid me, no doubt), it redirected me to a pic of some dude with a cigar, with the caption (iirc) "I r * pe kids in the woods".
I did a virus scan which came up clear. Dunno what else to do when shit like that happens, as I am not the brightest bulb in the chandelier.
I have not seen any notice as to how either users or admins should mitigate the problem so far. Obviously, admins should update once a new release is out, but beyond that...
From an end-user standpoint, I would guess -- I have not looked at the code and have not been working on the security hole -- the following:
This basically allows the attacker to masquerade as a currently-logged-in user who has viewed their link.
Viewing content on a lemmy server while logged in as an admin right now is probably a particularly bad idea.
I don't know what the full impact is for a regular user account, but it's probably possible for at minimum posts to be deleted, and posts to be made as someone. In kbin, my account shows my email address, so if lemmy does the same, it would be possible to link an email account used for registration with a username. If you used a throw-away email account that is publicly-accessible -- as I did -- that could allow for full account compromise.
Viewing content while not logged in is probably safe -- maybe they can make Javascript run from a link, but without you being logged in, there isn't anything interesting that the attacker can do. If I were going to be viewing content on lemmy servers right now, and okay with being limited to lurking, I might do that for a few days until the issue is resolved and lemmy servers update.
I don't know if kbin is vulnerable. It didn't accept the URL given in the bug as an example of a malicious URL when I tested submitting one, but it's possible that it trusts URLs coming from federated servers, which I did not check.
Did this result in Lemmy.world being defederated from Lemdro.id?
Lemmy.world is back up and the hack is over, but when I view !android@lemdro.id using my lemmy.world account I can't see anything.
EDIT: In case anyone else is having this problem, the issue was my language settings. Despite having āUndeterminedā set as a language, that was the problem - I clicked the little āXā to unselect all languages and then saved, and now itās working again.
Deeply unfortunate that something like this could happen, you always hope that code injection vulnerabilities are found before someone is hacked. With that in mind, this shows the importance of two security principles: always parse and clean user input and don't click links (including images) before checking where they are going to send you.
Itās worse than that. Until Lemmy is more mature, I would reccomend using the lite version of Lemmy, the JS-free version, for sake of client side security. Alternatively, or as an added point of security, the front-ends themselves should implement more sanitazion themselves. Iām willing to spend some free time vulnerability testing, but I would need a dedicated sand-box for that.
If they changed their server token, which they would have done to reduce the chances of the hackers reusing the same account tokens, you need to refresh your browser cache/cookies.
On desktop, you can do this by hitting CTRL-SHIFT-R, and on mobile, you probably just have to sign out and sign back in again.
In all seriousness, no one is talking about this, but this is the one disadvantage of open source software being developed by volunteers, we don't know exactly how the admin accounts were hacked but the XSS stuff is really basic stuff, none of those fields were sanatised at all, and it makes me concerned what else has been missed, obviously the advantage of open source is in time this stuff can get fixed, but this is what happens when loads of people who aren't experts contribute to a site.
In comparison to sites where there is a fully hired developer team the quality of the code is significantly better. I really hope the passwords were hashed on these instances and the hackers didn't get plain text passwords or anything really bad like this.
One thing and credit to Ernest, as I've contributed there he does very thorough code reviews and his quality of code is very good, its why im confident kbin won't be hacked.
I think you've never worked in software, or even used software, if you think paid close source apps don't have issues like this. They can be worse because they're written by interns and no one there actually cares, they just want their paycheck
I work at the biggest software company in the world.
Sure there is projects with security flaws, but at the company I work, there is zero tolerance to big security flaws in the code, we have many automated checks, as-well as manual checks.
yes and no: there are a couple of schools of thought!
of course, code by a lot of people without proper review isā¦ risky
however, at least itās able to be reviewed! and in time and with enough eyeballs, hopefully that code will become far more robust. thatās the benefit of transparency: anyone can review any line at any time!
remember: closed-source code as plenty of vulnerabilities too! just if we canāt review it, itās much harder to work out what they might beā¦ often, closed source vulnerabilities can exist for years without the vendor ever patching them because nobody is calling them out on itā¦ hell, they can even know that their software is actively being exploited and justā¦ not tell anyone
The two main Devs of Lemmy do this full time. They're not hired in a traditional sense, but the project is funded enough for them both to work on it as their full time job. Now, this isn't a problem with open source, I'm a professional software Dev and you would not BELIEVE how many enterprise, proprietary systems are still doing things like building SQL statements by directly concatening strings that come from user input (especially in enterprise software cause, well, who's gonna fuck around with it?). No, this is a problem of having this many eyeballs on you. The tiny little places they slipped up and didn't properly sanitize a user input string was found and exploited. Most proprietary systems do NOT reach this level of user count, and in particular Lemmy attracts a certain more tech-savvy demographic that would've found this sooner or later, malicious or not. Remember, this vulnerability was not just found, somebody was looking for it.