T.E.S.T.C.O.P.Y. • Просмотр темы - Найдена ошибка в библиотеке сжатия zlib

Найдена ошибка в библиотеке сжатия zlib

Болтологический форум.
Пожелание к форуму, сообщения об ошибках, любые темы и т.п.
Правила форума
Просьба ознакомиться с Правилами форума.
Также большая просьба, картинки выкладывать или в Галерею, или прикрепляйте их к своим сообщениям.
Ссылки в темах на сторонние фотохостинги (кроме вконтакте) заблокированы.

Прилепить пост

Сообщение Володья » Вс май 29, 2011 5:07 pm

Найдена ошибка в библиотеке сжатия zlib, которая может проявляться как уязвимость в программах, использующих zlib. Уязвимость позволяет нападающему вызывать отказ от обслуживании, собирать информацию, или выполнять произвольный код.

Уязвимость найдена в алгоритме декомпрессии, используемом zlib. Если атакующий сможет передать специально обработанный блок недопустимых сжатых данных к программе, которая использует zlib, попытка программы декомпрессировать обработанные данные может заставить подпрограммы zlib разрушить внутренние структуры данных, обслуживаемые malloc.

Связано это с ошибкой программирования, которая позволяет сегментам динамически распределенной памяти освобождаться более одного раза (то есть " double-freed "). Когда функция inftrees.c:huft_build() принимает обработанные данные, она возвращает Z_MEM_ERROR к inftrees.c:inflate_trees_dynamic(). Когда последующий запрос сделан к infblock.c:inflate_blocks(), функция inflate_blocks попытается освободить данные второй раз.

Поскольку эта ошибка нарушает правильное распределение и освобождение динамической памяти, она позволяет нападающим воздействовать на операции в программах, которые используют zlib. В большинстве случаях, это воздействие будет ограничено отказом от обслуживания или утечкой информации, но также теоретически возможно вставить произвольный код в выполняемую программу. Этот код будет выполнен с разрешениями уязвимой программы.

На сегодняшний день нет информации об успешной эксплуатации этой ошибки. Неизвестно, возможно ли вообще, каким либо образом использовать этот дефект.

Ошибка затрагивает все программы, которые используют библиотеку zlib.
Аватар пользователя
Володья   
Тонерман

Прилепить пост

Сообщение Mihal » Вс май 29, 2011 5:22 pm

О! Скоро хакеры начнут "ронять" принтеры самсунг.
Аватар пользователя
Mihal   
Mihal

Прилепить пост

Сообщение Володья » Ср июн 01, 2011 6:43 pm

А что скажут многоуважаемые фиксоделы по этому поводу>?
Аватар пользователя
Володья   
Тонерман

Прилепить пост

Сообщение readiv » Ср июн 01, 2011 6:57 pm

zlib используется при распаковке прошивки принтера. В самом принтере он не используется. Так, что хрень это всё.
...а ещё мы выгуливаем собак (Роберт Хайнлайн)
Аватар пользователя
readiv   
Починил струйный принтер
  • Не в сети

Прилепить пост

Сообщение Malice » Ср июн 01, 2011 6:58 pm

readiv писал(а):zlib используется при распаковке прошивки принтера. В самом принтере он не используется. Так, что хрень это всё.

Удивил..
Аватар пользователя
Malice   
Испачкался тонером

Прилепить пост

Сообщение readiv » Ср июн 01, 2011 7:09 pm

А что не так? Загрузчик распаковывает в принтере и всё. А дальше он зачем?
...а ещё мы выгуливаем собак (Роберт Хайнлайн)
Аватар пользователя
readiv   
Починил струйный принтер
  • Не в сети

Прилепить пост

Сообщение Malice » Ср июн 01, 2011 7:11 pm

Но ведь в самом принтере он используется, когда распаковывает и стартует.
Аватар пользователя
Malice   
Испачкался тонером

Прилепить пост

Сообщение readiv » Ср июн 01, 2011 7:20 pm

Естественно. Неточно выразился. Во время штатной работы не используется. Так наверное. А я кажись понял про фокус из темы Мишелям :) Модификация лоадера?
...а ещё мы выгуливаем собак (Роберт Хайнлайн)
Аватар пользователя
readiv   
Починил струйный принтер
  • Не в сети

Прилепить пост

Сообщение Malice » Ср июн 01, 2011 7:31 pm

readiv писал(а):Естественно. Неточно выразился. Во время штатной работы не используется. Так наверное. А я кажись понял про фокус из темы Мишелям :) Модификация лоадера?

Лоадер умеет печатать отчет? Но все равно нет, лоадер родной.
Аватар пользователя
Malice   
Испачкался тонером

Прилепить пост

Сообщение readiv » Ср июн 01, 2011 7:33 pm

А из лоадера к nvram нет доступа? Он не сможет поменять несколько байт в nvram?
Последний раз редактировалось readiv Ср июн 01, 2011 7:35 pm, всего редактировалось 1 раз.
...а ещё мы выгуливаем собак (Роберт Хайнлайн)
Аватар пользователя
readiv   
Починил струйный принтер
  • Не в сети

Прилепить пост

Сообщение Malice » Ср июн 01, 2011 7:34 pm

Есть в принципе.
Аватар пользователя
Malice   
Испачкался тонером

Прилепить пост

Сообщение readiv » Ср июн 01, 2011 7:36 pm

Если есть, то можно добавить в него изменение SN.
...а ещё мы выгуливаем собак (Роберт Хайнлайн)
Аватар пользователя
readiv   
Починил струйный принтер
  • Не в сети

Прилепить пост

Сообщение Malice » Ср июн 01, 2011 7:45 pm

readiv писал(а):Если есть, то можно добавить в него изменение SN.

Можно, но с тем фокусом ну никак не вяжется. Несколько смен подряд, дебаг не подключен.
Аватар пользователя
Malice   
Испачкался тонером

Прилепить пост

Сообщение Володья » Ср июн 01, 2011 8:48 pm

Прям Борьба Титанов :-) Может еще кто скажет слово>?

Добавлено спустя 8 минут 18 секунд:
Python – удаленное переполнение буфера в библиотеке zlib
Brief

Хакер Justin Ferguson из IOActive Security Advisory 9 апреля этого года обнародовал обнаруженную им дыру в популярной библиотеке zlib. Библиотека входит в штатный комплект поставки языка Python, приобретающего с каждым днем все большую и большую распространенность, и потому угроза вполне актуальна. «Сидит» ошибка в функции PyZlib_unflush, реализованной в файле Python-2.5.2/Modules/zlibmodule.c. Функция выполняет сброс (flush) указанного количества байт, заданного знаковым аргументом (всегда трактуемым как положительное целое без проверки на отрицательное значение; передача которого функции выделения памяти приводит к резервированию одного байта буферной памяти). А вот функция копирования данных в буфер после преобразования отрицательного знакового аргумента в беззнаковое получает очень большое число, соответствующее нескольким гигабайтам памяти.

Естественно, это приводит к переполнению кучи. Дыра объявлена удаленной, хотя на самом деле она локальная. Момент требует пояснений. Да, действительно, дыра локальна по своей природе и, чтобы добиться переполнения, необходимо вызывать функцию flush(). Это можно сделать, только если запускать Python-программы на целевой машине, для чего там должен быть установлен интерпретатор языка, а хакеру – предоставлен shell с возможностью выполнения Python-программ. Но даже при таком оптимистичном раскладе злоумышленник не сможет завалить операционную систему, а только запущенный экземпляр интерпретатора. Или (в идеале) захватить управление системой без превышения уровня имеющихся у него привилегий. А оно ему надо? Так что атака носит сугубо лабораторный характер. Лишь в тех немногих случаях, когда интерпретатор Python'а запускается на более высоком уровне привилегий, хакер может поиметь с этого какую-то выгоду.

http://www.xakep.ru/magazine/xa/113/048/1.asp

вот еще пища для размышлений!
Аватар пользователя
Володья   
Тонерман


Вернуться в Изба-флудильня

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

вверх
вниз
x

#{title}

#{text}