Un numéro offert




Recherche :

Trou de sécurité dans Mozilla 1.7.3 et Thunderbird 0.9
| Sécurité
Tips publié le vendredi 24 novembre 2006
Note des lecteurs : Aucune note

Auteur: fredericmazue (Frédéric Mazué)
36 tips de cet auteur
Voir la fiche Who's Who de l'auteur

Une faille a été découverte dans le code de traitement des URLs NNTP de ces logiciels à la popularité croissante. Il s'agit d'un problème de débordement de tampon, cas de figure hélas plus que fréquent en C. Un débordement de tampon rend potentiellement possible l'exécution de code malveillant sur la machine hôte. Voici le code incriminé:

char *MSG_UnEscapeSearchUrl (const char *commandSpecificData)
{
char *result = (char*) PR_Malloc (PL_strlen(commandSpecificData) + 1);

if (result)
{
char *resultPtr = result;
while (1)
{
char ch = *commandSpecificData++;
if (!ch)
break;
if (ch == '\\')
{
char scratchBuf[3];
scratchBuf[0] = (char) *commandSpecificData++;
scratchBuf[1] = (char) *commandSpecificData++;
scratchBuf[2] = '\0';
int accum = 0;
PR_sscanf(scratchBuf, "%X", &accum);
*resultPtr++ = (char) accum;
}
else
*resultPtr++ = ch;
}
*resultPtr = '\0';
}
return result;
}

Si commandSpecificData pointe sur une chaîne se terminant par "\\", le zéro de fin de chaîne ne sera pas testé dans le bloc if (ch = '\\) et commandSpecificData sera incrémenté de façon imprévisible, provoquant ainsi la corruption du tampon result. Pour en savoir plus et notamment voir un morceau de code Javascript exploitant cette faille, allez à https://bugzilla.mozilla.org/show_bug.cgi?id=264388.

Pour vous protéger de ce problème mettez à jour pour Thunderbird 1.0 et Mozilla 1.7.5

Donnez une note à ce tips :







Programmez n°163




Vos tips
Partagez vos trucs et astuces avec les lecteurs de Programmez!

Recherche
Rechercher dans les Tips si une astuce peut vous aider.
Trier les tips
Programmez.com - 2013 - Tous droits réservés
Développement - WEB - ASP - PHP - C++ - Delphi - Java - Magazines - Ressources - Forum - Télécharger - Video - Emploi - Campus - .Net - Tutoriels

Le présent site Web est édité par Go 02, Sarl inscrite au RCS de Paris sous le N° 411321366 et dont le siège social est au 21 rue de Fécamp 75012 Paris.
Adresse de courrier électronique :diff@programmez.com

Le directeur de la publication du site www.programmez.com est Jean-Claude Vaudecrane en qualité de gérant de la sarl GO 02

Le portail du décideur informatique en entreprise : Solutions & Logiciels