fast-xml-parser affecté par le contournement des limites d'expansion d'entités via l'expansion d'entités numériques (correction incomplète pour CVE-2026-26278)
Plateforme
nodejs
Composant
fast-xml-parser
Corrigé dans
5.5.6
## Résumé La correction pour CVE-2026-26278 a ajouté des limites d'expansion d'entités (`maxTotalExpansions`, `maxExpandedLength`, `maxEntityCount`, `maxEntitySize`) pour empêcher le déni de service par expansion d'entités XML. Cependant, ces limites ne sont appliquées qu'aux entités définies dans DOCTYPE. Les **références de caractères numériques** (`&#NNN;` et `&#xHH;`) et les entités XML standard (`<`, `>`, etc.) sont traitées via un chemin de code distinct qui N'applique AUCUNE limite d'expansion. Un attaquant peut utiliser un nombre massif de références d'entités numériques pour contourner complètement toutes les limites configurées, provoquant une allocation excessive de mémoire et une consommation excessive de CPU. ## Versions affectées fast-xml-parser v5.x jusqu'à v5.5.3 (et probablement v5.5.5 sur npm) ## Cause première Dans `src/xmlparser/OrderedObjParser.js`, la fonction `replaceEntitiesValue()` a deux boucles de remplacement d'entités distinctes : 1. **Lignes 638-670** : Entités DOCTYPE — comptage de l'expansion avec suivi de `entityExpansionCount` et `currentExpandedLength`. C'était la correction CVE-2026-26278. 2. **Lignes 674-677** : Boucle `lastEntities` — remplace les entités standard, y compris `num_dec` (`/&#([0-9]{1,7});/g`) et `num_hex` (`/&#x([0-9a-fA-F]{1,6});/g`). **Cette boucle n'a AUCUNE expansion
Comment corriger
Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.
Surveillez vos dépendances automatiquement
Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.
Commencer gratuitement