Переполнение буфера обнаружено в нескольких IMAP клиентах, написанных на С и С++. Уязвимость может использоваться для аварийного завершения работы клиента и выполнения произвольного кода на целевой системе. 

Обнаружено две уязвимости в IMAP клиентах, написанных на C и C++: 

  1. Обработка literal огромных размеров. Множество клиентов используют malloc(literal_size+1) и затем читают это в literal. Проблема состоит в том, что, если literal_size равен UINT_MAX-1, произойдет +1 переполнение в malloc(0), но сервер позволит записать еще UINT_MAX-1 байт данных. 
  2. Обработка почтовых ящиков огромных размеров (большое значение EXISTS в ответе). Множество клиентов используют malloc(messages_count * sizeof(struct message)) и читают данные в это.

Для успешной эксплуатации требуется, чтобы клиент соединился со злонамеренным IMAP сервером. 

Уязвимые клиенты (crash - аварийное завершение работы, limited - ограниченное переполнение буфера, full - все что угодно может быть записано в буфер): 

Уязвимость обнаружена в: 

imap-2002b и Pine 4.53
Evolution 1.2.4 
Mozilla 1.3 и 1.4a
Sylpheed 0.8.11 (including -claws)
Outlook Express 6.00.2800.1106
Eudora 5.2.1

Оставить мнение