Cross-site scripting is what happens when user input becomes executable. A field that should hold a name renders as a script. Defenses are old and well-known; the bug remains common.
In plain language
In security, this is one of the pieces a system uses to keep the wrong people out and the right people in. Cross-site scripting is what happens when user input becomes executable. A field that should hold a name renders as a script. Defenses are old and well-known; the bug remains common. If you are new to the field, the simplest mental model is this: injecting malicious script into someone else's page. Read it once with that frame in mind, then come back and read it again — that is usually enough for the rest of the entry to make sense.

An everyday picture
Think of XSS as a lock on a door. Boring when it works, suddenly the loudest thing in the room when it doesn't. The goal is for it to stay boring.
Where it shows up
XSS runs in the background of any product that handles login, payment, or private data. It is most visible the moment it fails — someone gets in who shouldn't, or someone is locked out who shouldn't be.
A small example
Imagine the scene above. The role XSS plays is the one its blurb describes — Injecting malicious script into someone else's page. When you log in to a bank without anyone in a café reading your password, ideas like this are doing the protective work.
Common misunderstanding
One line to take with you
XSS is a quiet promise. Keep the promise small, write it down, and check it works.
