När du skriver en kommentar kan du göra formatteringstricks med Markdown
, men Markdown-parseren som Lemmy använder konverterar inte innehållet till plaintext när den lagras i databasen, vilket gör det möjligt att gömma körbara skript i en kommentar.
Idag använde en hackare länkade bilder i lemmy.world:s kommentarer vars alternativtext innehåller skriptet som stjäl autentiseringsnyckeln av användare som laddar kommentaren. Med den metoden fick hackaren tillgång till en av adminernas konton och la till bilden med skriptet i lemmy.world:s sidebar, så alla inloggade användare skulle få sin nyckel stulen (eftersom sidebaren laddas på varje sida).
Som användare är det bäst att du inte besöker Lemmy-sidor inloggat på en webbrowser just nu - attacken är inte begränsad till lemmy.world och kan användas till att hämta autentiseringsnycklar från alla instanser som inte blockerar körbara skript.
Admin kan lägga till script-src 'self' 'nonce-$RANDOM'
till instansens Content Security Policy på proxyservern för att blockera körbara skript på sidan. Läs mer här för att lära dig mer om hur exploiten fungerar (extern instans, du blir utloggad).
Bobby Tables slår till igen!
Lemmy-ui är nu uppdaterad till en version som skall stoppa custom-emoji XSS. Jag har också genererat en ny JWT-secret (vilket gör alla cookies ogiltiga, om det skulle vara så att någons cookie har blivit stulen) -> ni behöver logga in igen.
Glömde att länka ärendet på GitHub.
Exploiten nyttjar custom emojis för att köra skriptet men det är oklart om emojin måste vara instansens egen för att skriptet ska köras.
Tack för att du uppmärksammar detta. Jag hoppas våra admins ser det 🙂
Tack för informationen och beskrivningen. 👍🏼
Exploiten fungerar inte på vår instans eftersom vi har uppgraderat till 0.18.2, inget att frukta längre!