durante la lettura di come e cosa è l'overflow del buffer nella pagina owasp Ho visto la documentazione su un buffer overflow in LibPNG
Ha affermato che il seguente codice è vulnerabile:
if (!(png_ptr->mode & PNG_HAVE_PLTE)) {
/* Should be an error, but we can cope with it */
png_warning(png_ptr, "Missing PLTE before tRNS");
}
else if (length > (png_uint_32)png_ptr->num_palette) {
png_warning(png_ptr, "Incorrect tRNS chunk length");
png_crc_finish(png_ptr, length);
return;
}
...
png_crc_read(png_ptr, readbuf, (png_size_t)length);
Ho difficoltà a capire perché è vulnerabile.