• StudioLE@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    I’m not particularly familiar with XSS but I’m curious how a frontend exploit can compromise an instance?

    Presumably the injected XSS stores the admin’s JWT somewhere for the exploiter?

    Then using that JWT they can effectively login as the admin which gives them access to whatever admin dashboard there is, but does that actually compromise the backend at all?

    edit: for anyone curious there’s a bit of a breakdown of how it works here: https://feddit.win/comment/244427

    • CMahaff@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 year ago
      1. Inject exploit into a comment using custom emoji.
      2. Front-end parses the emoji incorrectly allowing JavaScript to be injected.
      3. JavaScript loads for everyone to views a page with the comment and sends their token and account type to the hackers domain.
      4. Hacker parses received tokens for admins and uses that to inject redirects into the front page of the Lemmy instance.

      To answer your other questions:

      • IMO there probably should be better parsing to remove this stuff from the back-end, so I’m not sure the front-end solution is the complete solution, but it should get things largely under control.
      • Back-end is theoretically not compromised besides needing to purge all the rogue comments. Attacker presumably never had access to the server itself.
      • Probably needs to be a mass reset of ALL passwords since lots of people’s tokens were sent during the attack, so their accounts could be compromised.