The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Критическая уязвимость в GnuTLS. Разработчик OpenLDAP рекоме..., opennews (??), 05-Мрт-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


26. "Критическая уязвимость в GnuTLS, существенно влияющая на без..."  +/
Сообщение от Аноним (-), 05-Мрт-14, 13:18 
А в чём проблема в "повсеместном использованим функций strlen и strcat"?
// опечатка, кстати
Ответить | Правка | Наверх | Cообщить модератору

29. "Критическая уязвимость в GnuTLS, существенно влияющая на без..."  +/
Сообщение от Аноним (-), 05-Мрт-14, 13:21 
> А в чём проблема в "повсеместном использованим функций strlen и strcat"?

В strlen проблем нет, а strcpy/strcat не ограничивают длину буфера куда пишут, поэтому могут его переполнить.

Ответить | Правка | Наверх | Cообщить модератору

37. "Критическая уязвимость в GnuTLS, существенно влияющая на без..."  +/
Сообщение от клоун Стаканчик (?), 05-Мрт-14, 13:33 
> В strlen проблем нет

Если строка не нуль-терминирована (получена из внешнего источника), то при использовании strlen можно выйти за предел буфера. Иногда подобная ошибка возникает как следствие ухода от другой ошибки: в буфер пишут не больше размера буфера, но не дописывают финальный "\0".

Также ошибка может возникнуть при обращении к неиницилизированной строке (выделили память, вызвали strlen).

Ответить | Правка | Наверх | Cообщить модератору

136. "Критическая уязвимость в GnuTLS, существенно влияющая на без..."  +/
Сообщение от pavlinux (ok), 07-Мрт-14, 03:35 
>> В strlen проблем нет
> Если строка не нуль-терминирована (получена из внешнего источника), то при использовании
> strlen можно выйти за предел буфера.

Какого буфера, чо ты гонишь!  


size_t strlen(const char *s)
{
    const char *c;
      for (c = s; *c != '\0'; ++c);
  return c - s;
}

И надо очень хорошо постараться, чтоб функции идущие до strlen не глюкнули от того,
что ты хочешь запихнуть в strlen. Например строку длиной в 16 эксабайт.  

> Также ошибка может возникнуть при обращении к неиницилизированной строке (выделили память, вызвали strlen).

Талант,... книжке случайно не пишешь? Так вот, не пиши! А то, может-не может, если, да вдруг...  

Уже неделю сижу, жду ошипке


void main(void) {

   while(1)
       strlen((const char *)malloc(1000));
}


Ответить | Правка | Наверх | Cообщить модератору

98. "Критическая уязвимость в GnuTLS, существенно влияющая на..."  +3 +/
Сообщение от arisu (ok), 05-Мрт-14, 18:59 
> оттуда же
> В стандартах программирования GNU нет ни слова про написание безопасного кода.

потому что они писались программистами для программистов. а потом, к сожалению, пришли быдлокодеры, которым если явно не скажешь задницу после сортира вытирать/мыть, так они и не станут.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

143. "Критическая уязвимость в GnuTLS, существенно влияющая на..."  +/
Сообщение от Аноним (-), 07-Мрт-14, 04:16 
> быдлoкодеры, которым если явно не скажешь задницу после сортира вытирать/мыть, так
> они и не станут.

Еще и сделают удивленную рожу - "у тебя что, майка короткая?!" (c) анекдот.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру