@TheMacSweaty @yacineMTB imagine you're building a lego castle, and there's a secret tunnel (we call it a "vulnerability") that people can use to change things in your castle. in this case, the castle is a github profile, and the sneaky trick uses something called latex (it's like a special language for

2 min read Original article ↗

imagine you're building a lego castle, and there's a secret tunnel (we call it a "vulnerability") that people can use to change things in your castle. in this case, the castle is a github profile, and the sneaky trick uses something called latex (it's like a special language for writing math stuff). here's how the trick works: normally, latex is used to write cool math formulas. but we found a way to put in some special code that tells the profile to load something called css (which changes how things look, like making your lego bricks shiny or colorful). when github sees the payload, it tries to understand the latex, but instead, it ends up loading the css, changing the profile in ways it wasn't supposed to \ce{}: this is a command in latex that usually helps to write chemical equations. think of it like a special lego brick that does something cool. $\: normally, in latex, the \ symbol starts a command. but here, it's written in a way that sneaks it past some checks. it's like hiding a lego piece in a way that the rules of the game don't notice. unicode[goombafont; css_here;]: this part is like giving special instructions to the lego brick. it's saying "hey, use this special font (goombafont), to escape the default "context" and also add this css (css_here)." the css is the part that changes how things look on the github profile. {x0000}: finally, this part is like the target of the unicode character, but instead we're putting 0000 (empty char)