Sete travessias recursivas em `lib/dom.js` operam sem limite de profundidade. Ao processar uma árvore DOM suficientemente aninhada, a pilha de chamadas do JavaScript é esgotada, resultando em um `RangeError: Maximum call stack size exceeded` e causando a queda da aplicação. Isso pode levar a uma negação de serviço se um serviço aceitar XML controlado por um invasor e executar qualquer uma das operações afetadas.
As funções e pontos de entrada afetados incluem
- `Node.prototype.normalize()`
- `XMLSerializer.serializeToString()`
- `Element.getElementsByTagName()`, `getElementsByTagNameNS()`, `getElementsByClassName()` e `getElementById()` (através da função ` visitNode`)
- `Node.cloneNode(true)`
- `Document.importNode(node, true)`
- `node.textContent` (getter)
- `Node.isEqualNode(other)`