
Репозиторий для исследования уязвимости CVE-2022-37434 в zlib 1.2.8, предоставляющий исправленную версию библиотеки сжатия данных для анализа и тестирования эксплуатации.
БИБЛИОТЕКА СЖАТИЯ ДАННЫХ ZLIB
zlib 1.2.8 — это универсальная библиотека сжатия данных. Весь код потокобезопасен. Формат данных, используемый библиотекой zlib, описан в RFC (Request for Comments) с 1950 по 1952 в файлах http://tools.ietf.org/html/rfc1950 (формат zlib), rfc1951 (формат deflate) и rfc1952 (формат gzip).
Все функции библиотеки сжатия описаны в файле zlib.h (добровольцы для написания man-страниц приветствуются, пишите на [email protected]). Пример использования библиотеки приведен в файле test/example.c, который также проверяет, что библиотека работает правильно. Другой пример приведен в файле test/minigzip.c. Сама библиотека сжатия состоит из всех исходных файлов в корневом каталоге.
Для компиляции всех файлов и запуска тестовой программы следуйте инструкциям в начале Makefile.in. Кратко: «./configure; make test», и если все прошло успешно, «make install» должно работать для большинства разновидностей Unix. Для Windows используйте один из специальных makefile'ов в win32/ или contrib/vstudio/ . Для VMS используйте make_vms.com.
Вопросы о zlib следует отправлять на [email protected], или Жилю Воллану [email protected] для версии Windows DLL. Домашняя страница zlib: http://zlib.net/ . Перед сообщением о проблеме, пожалуйста, проверьте этот сайт, чтобы убедиться, что у вас последняя версия zlib; в противном случае получите последнюю версию и проверьте, сохраняется ли проблема.
ПОЖАЛУЙСТА, прочитайте FAQ по zlib http://zlib.net/zlib_faq.html, прежде чем обращаться за помощью.
Марк Нельсон [email protected] написал статью о zlib для январского выпуска 1997 года Dr. Dobb's Journal; копия статьи доступна по адресу http://marknelson.us/1997/01/01/zlib-engine/ .
Изменения, внесенные в версии 1.2.8, описаны в файле ChangeLog.
Неподдерживаемые сторонние вклады предоставлены в каталоге contrib/ .
zlib доступен в Java через пакет java.util.zip, описанный на http://java.sun.com/developer/technicalArticles/Programming/compression/ .
Интерфейс Perl для zlib, написанный Полом Маркессом [email protected], доступен на сайтах CPAN (Comprehensive Perl Archive Network), включая http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
Интерфейс Python для zlib, написанный А.М. Кахлингом [email protected], доступен в Python 1.5 и более поздних версиях; см. http://docs.python.org/library/zlib.html .
zlib встроен в tcl: http://wiki.tcl.tk/4610 .
Экспериментальный пакет для чтения и записи файлов в формате .zip, написанный поверх zlib Жилем Волланом [email protected], доступен в каталоге contrib/minizip библиотеки zlib.
Примечания для некоторых платформ:
Для версий Windows DLL см. win32/DLL_FAQ.txt
Для 64-битной Irix файл deflate.c должен быть скомпилирован без оптимизации. С -O один тест libpng завершается неудачей. Тест работает в 32-битном режиме (с флагом компилятора -n32). Ошибка компилятора была сообщена в SGI.
zlib не работает с gcc 2.6.3 на DEC 3000/300LX под OSF/1 2.1, но работает при компиляции с cc.
На Digital Unix 4.0D (ранее OSF/1) на AlphaServer опция cc -std1 необходима для корректной работы gzprintf. Это делается через configure.
zlib не работает на HP-UX 9.05 с некоторыми версиями /bin/cc. Работает с другими компиляторами. Используйте «make test» для проверки вашего компилятора.
gzdopen не поддерживается на RISCOS или BEOS.
Для PalmOs см. http://palmzlib.sourceforge.net/
Благодарности:
Формат deflate, используемый zlib, был определен Филом Кацем. Спецификации deflate и zlib были написаны Л. Питером Дойчем. Спасибо всем, кто сообщал о проблемах и предлагал различные улучшения для zlib; их слишком много, чтобы перечислять здесь.
Уведомление об авторских правах:
(C) 1995-2013 Jean-loup Gailly и Mark Adler
Это программное обеспечение предоставляется «как есть», без каких-либо прямых или подразумеваемых гарантий. Ни при каких обстоятельствах авторы не несут ответственности за любой ущерб, возникший в результате использования этого программного обеспечения.
Разрешается любому лицу использовать это программное обеспечение для любых целей, включая коммерческие приложения, а также изменять его и распространять его свободно, при соблюдении следующих ограничений:
Jean-loup Gailly Mark Adler [email protected] [email protected]
Если вы используете библиотеку zlib в продукте, мы будем признательны не получать длинные юридические документы для подписания. Исходные коды предоставляются бесплатно, но без каких-либо гарантий. Библиотека полностью написана Jean-loup Gailly и Mark Adler; она не включает сторонний код.
Если вы распространяете измененные исходники, мы будем признательны, если вы включите в файл ChangeLog информацию об истории изменений, документирующую ваши изменения. Пожалуйста, прочитайте FAQ для получения дополнительной информации о распространении измененных версий исходного кода.