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.

  • axzxc1236@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    No one store their PGP private key in cookies, at least I hope so.

    Ideally someone wants to send signed message doesn’t store the signing key in their browser, sandbox their browser even.

    • axzxc1236@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Imagine you have Permission to post as axzxc1236@lemmy.world as an object that is locked in a safe deposit box, the key is JWT token.

      The key, by how it works, can be obtained by (1) knowing axzxc1236@lemmy.world’s password (+2FA token if configured) (2) have a copy of the token (3) somehow cheat lemmy.world’s authentication scheme (by somehow skipping authentication or acquiring magic tool to generate random token … etc).

      What happened today is scenario (2), by a single line of JavaScript planted by hacker, and if you have access to my unlocked desktop computer, you can see and copy the key by using F12 (developer tool).

      Scenario (2) can be mitigated by tying the sending computer IP to JWT token, but as far as I can tell lemmy.world doesn’t have the option, and most of people get random new IP address every now and then because how Internet currently operates, so this feature can be very annoying.


      now introduce Permission to post PGP signed message as axzxc1236@lemmy.world as an object that is locked in a safe deposit box, this deposit box has two key slot (like a bank deposit box), JWT token and PGP private key.

      This PGP private key doesn’t have to sit in your browser, it can be on a burner phone which it’s only purpose is a APP for signing message, it can be on a USB thumb drive that is stored in your parent’s basement, or usb thumb drive that sits in bank deposit box which requires a bank employee to authenticate your ID to access…