Ticket #35914

Buffer overflow in lha

Date d'ouverture: 2016-01-13 00:51 Dernière mise à jour: 2016-01-16 23:27

Rapporteur:
Propriétaire:
État:
Atteints
Composant:
(Aucun)
Jalon:
(Aucun)
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
2

Détails

During a fuzzing session I discovered two cases where a buffer overflow is triggered. The problem lies in header.c:797-800 and header.c:913-916. The header_size is determined from the get_byte() function and the returned value is used in:

header_size + 2 - COMMON_HEADER_SIZE

to determine the elements' size in fread(). If the header_size is less than abs(2 - COMMON_HEADER_SIZE) = abs(2 - 21) = 19 then the size parameter is overflowed and a buffer overflow occurs in fread. header_size is determined from the first byte of the lha archive header.

Ticket History (3/6 Histories)

2016-01-13 00:51 Updated by: zubu
  • New Ticket "Buffer overflow in lha " created
2016-01-13 01:02 Updated by: zubu
  • Details Updated
2016-01-14 06:30 Updated by: arai
  • Propriétaire Update from (Aucun) to arai
2016-01-16 23:27 Updated by: arai
  • Résolution Update from Aucun to Fixed
  • Ticket Close date is changed to 2016-01-16 23:27
  • État Update from Ouvert to Atteints
Commentaire

Fixed at the commit bf2471f. Thanks.

Attachment File List

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion