XML entity expansion

XML entity expansion
Photo by Shahadat Rahman / Unsplash

XML Entity Expansion is een type aanval op webapplicaties waarbij een aanvaller kwaadaardige XML-invoer verstuurt om de verwerking van XML-entiteiten te manipuleren. Dit kan leiden tot het vertragen of het crashen van de XML-parser, het uitvoeren van kwaadaardige code en het lekken van gevoelige informatie.

XML Entity Expansion is gebaseerd op de mogelijkheid om XML-entiteiten te definiëren en te gebruiken in XML-documenten. Entiteiten zijn tekstfragmenten die kunnen worden gedefinieerd in een externe entiteit, zoals een DTD-bestand. Wanneer een XML-parser de XML-invoer verwerkt, vervangt deze de entiteitsverwijzingen in de XML-invoer door de inhoud van de entiteit, zoals gedefinieerd in de DTD-bestand.

Een aanvaller kan XML Entity Expansion gebruiken om de parser te overbelasten of te laten vastlopen, door enorme aantallen recursieve entiteitsverwijzingen op te nemen in de XML-invoer. Dit kan leiden tot het vertragen of het crashen van de parser, wat kan leiden tot onbeschikbaarheid van de applicatie of het systeem.