CveTest
Cas de test pour reproduire le plantage de Node.JS V0.10.31 v8 backport CVE-2013-6668.
Le test appelle une procédure stockée SQL ("GetSomething") pour récupérer des données d'une table ("Table1") dans la base de données "SQLDB". Le plantage se produit lorsqu'il y a plus de 52 lignes retournées et après avoir effectué le même appel plusieurs fois.
Environnement
- Windows 7 64 bits
- MS SQL 2005
- Node.JS V0.10.31 x64
- module node tedious V1.4.3 ou antérieur
Tests avec différentes versions de Node
- Mode release de node : le script se termine de manière inattendue sans aucun message d'erreur explicite.
- Mode debug de node : une assertion et une trace de pile sont obtenues.
- Mode debug de Node avec le correctif temporaire proposé dans Node.JS Issue #8208 : toujours un plantage comme ci-dessus.
- Le mode release est ok.
- L'assertion rencontrée se trouve dans HInstruction::Verify() qui n'est disponible qu'en version DEBUG. Ainsi, les codes de build release alternatifs ne semblent pas souffrir du correctif CVE.
- Node V0.10.31 avec deps/v8 de V0.10.30 : Pas de plantage, fonctionne correctement.
Ainsi, il semble que ce soit le correctif v8 backport CVE-2013-6668 qui cause le problème.
Peut-être lié