Назад к тренду дня: PHP обновил веб-инструменты для Windows, закрыв брешь, через которую можно было запустить код
Рейтинг Poly · из тренда дня

Алгоритмы сжатия данных: топ-10 веб-кодеков, 2026

Zstandard распаковывает в 3,6 раза быстрее Brotli (1 550 против 425 МБ/с) при разрыве в степени сжатия всего 0,4%, а в октябре 2026 года именно в декодере Brotli нашли удалённую запись за границами буфера с оценкой 9,8.

  • №1: Zstandard (zstd)
  • 10 мест

01Итоговый список

Ведущие ИИ независимо составили свои списки из десяти мест. Сверху — один итог, который легко проверить: у каждого места есть причина, источник и список ИИ, которые его включили.

Порядок: от большего согласия ИИ к меньшему.

Яркая плашка — этот ИИ включил пункт в свой список. Тусклая — не включил.

  1. 1

    Zstandard (zstd)

    Декодирует со скоростью 1 550 МБ/с против 425 у Brotli при почти одинаковой степени сжатия (2,896 против 2,883). Её немногие CVE касаются инструмента командной строки, а не декодера. На веб-ресурсах Brotli всё равно выигрывает: 3,08 против 2,86.

    Включили: Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Qwen. Не включили: ChatGPT, Wenxin.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · Nova: 1 · StepFun: см. список · Kimi: см. список · DeepSeek: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • Novaместо 1

      Распаковывает со скоростью 200–400 МБ/с при степени сжатия 2,5–3,5×, но его ошибка проверки потока 2026 года повысила риски отказа в обслуживании.

      Источник ↗
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  2. 2

    gzip / DEFLATE (zlib)

    По-прежнему сжимает 60% веб-JavaScript (у Brotli — 29%). Декодирует со скоростью 390 МБ/с при степени сжатия 2,743, а его декодер zlib несёт 19 CVE, в том числе CVE-2022-37434 с оценкой 9,8.

    Включили: Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Qwen. Не включили: ChatGPT, Wenxin.

    В их списках: Meta: 2 · Grok: 2 · Gemini: 2 · Nova: 3 · StepFun: 2 · Kimi: 2 · DeepSeek: 2 · Qwen: 1

    Что отметил каждый ИИ 8
    • Metaместо 2

      82% сайтов отдают gzip через zlib — в PHP, Python gzip, Node zlib, Ruby Zlib, в каждой сборке Nginx — переполнение кучи CVE-2022-37434 через большое дополнительное поле заголовка gzip

    • Grokместо 2

      Встроен почти в каждую среду выполнения языков и веб-сервер; несколько критических переполнений кучи (включая 2022 и 2026 годы) всё ещё появляются, несмотря на десятилетия аудитов.

    • Geminiместо 2

      Незаметно встроена в среды выполнения Node.js, Python и PHP, оставляя 47,1% ответов HTTP-серверов зависимыми от 30-летней модели памяти.

    • Novaместо 3

      Первоначальный компрессор веба, который всё ещё обрабатывает 80% HTTP-трафика при степени сжатия 1,5–2×, но страдает от исторических ошибок zlib.

      Источник ↗
    • StepFunместо 2

      19 CVE и переполнение кучи в inflate(), которое пряталось в стандартном пути HTTP gzip вплоть до версии 1.2.12.

    • Kimiместо 2

      Входит в PHP, Node, Python и curl — и даже связана внутри самого OpenSSL; её худшая ошибка inflate() получила оценку 9,8.

    • DeepSeekместо 2

      19 CVE с 2002 года, 9 с публичными эксплойтами и переполнение кучи в inflate с CVSS 9,8 — декомпрессор за gzip, PNG и бесчисленными HTTP-стеками.

    • Qwenместо 1

      Невидимые лёгкие интернета: сжимает 90% веб-трафика и время от времени тихо выпускает CVE на порчу памяти.

      Источник ↗
    8 ИИ поставили сюда
  3. 3

    LZ4

    Самый быстрый декодер — 3 850 МБ/с, но степень сжатия всего 2,101, то есть полезная нагрузка больше, чем у zstd. Некоторые ИИ заявляли об отсутствии CVE, однако CVE-2021-3520 — настоящее переполнение целого числа, ведущее к порче памяти.

    Включили: Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Qwen. Не включили: ChatGPT, Wenxin.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · Nova: 4 · StepFun: см. список · Kimi: см. список · DeepSeek: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • Novaместо 4

      Самый быстрый распаковщик со скоростью 500+ МБ/с, но степень сжатия лишь 1,5–2×; его простота позволяет избежать сложных уязвимостей, характерных для Brotli и Zstd.

      Источник ↗
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  4. 4

    Brotli

    Сжимает веб-текст плотнее всех: 3,08:1 против 2,56 у gzip на ресурсах Cloudflare, а на уровне 11 файлы на 19% меньше. Платой за это стала CVE-2026-111497 — запись за границами буфера с оценкой 9,8 в версиях с 1.0.3 по 1.2.0.

    Включили: Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Qwen. Не включили: ChatGPT, Wenxin.

    В их списках: Meta: 7 · Grok: 5 · Gemini: 9 · Nova: 2 · StepFun: 7 · Kimi: 9 · DeepSeek: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Metaместо 7

      Встроенный C-декодер в Node zlib, Bun, Python brotli, сборках PHP 8.2–8.5 для Windows — CVE-2026-111497, RCE Node2Shell/HTTP2Shell во всех экосистемах

      Источник ↗
    • Grokместо 5

      Та самая библиотека, из-за которой 26 октября 2026 года пришлось экстренно пересобирать Windows-версии PHP; одна критическая запись за границами буфера в декодере распространилась на Node, Python, .NET и PHP.

      Источник ↗
    • Geminiместо 9

      Встроен в PHP и Node.js для быстрой потоковой распаковки; запись за границами буфера в октябре 2026 года потребовала срочной пересборки бинарников всех версий.

      Источник ↗
    • Novaместо 2

      Компрессор Google со степенью 4–5× используется в PHP 8.2+, но CVE-2026-111497 превратил распаковку в вектор удалённого выполнения кода.

    • StepFunместо 7

      Самая новая запись в этом списке и единственная, у которой в один момент появилась ошибка удалённого выполнения кода во встроенном декодере сразу в Node.js, Bun, PHP и Python.

    • Kimiместо 9

      Самая молодая библиотека здесь и уже с открытым RCE без аутентификации — ровно тот паттерн «декомпрессия на входе», о котором шла речь в истории с контекстом.

    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  5. 5

    Snappy

    Декодирует со скоростью 1 500 МБ/с при степени сжатия 2,089 и вовсе не использует кодирование Хаффмана. Её известная CVE (CVE-2023-43642) относится к обёртке snappy-java, а не к ядру на C++.

    Включили: Meta, Grok, Gemini, StepFun, Kimi, DeepSeek, Wenxin, Qwen. Не включили: ChatGPT, Nova.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · StepFun: см. список · Kimi: см. список · DeepSeek: см. список · Wenxin: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Wenxin

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  6. 6

    XZ / LZMA

    Самая высокая степень сжатия здесь (3,43 в тесте SquashFS для ядра), но декодирование всего 35 МБ/с. Её самая опасная CVE, CVE-2024-3094 с оценкой 10,0, — подложенная закладка, а не ошибка разбора.

    Включили: Meta, Grok, Gemini, StepFun, Kimi, DeepSeek, Wenxin, Qwen. Не включили: ChatGPT, Nova.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · StepFun: см. список · Kimi: см. список · DeepSeek: см. список · Wenxin: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Wenxin

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  7. 7

    bzip2

    Декодирует со скоростью 34–90 МБ/с в зависимости от теста — слишком медленно для живого HTTP. Её запись за границами буфера 2019 года (CVE-2019-12900) получает 9,8 в NVD, но 4,4 у Red Hat.

    Включили: Meta, Grok, Gemini, StepFun, Kimi, DeepSeek, Wenxin, Qwen. Не включили: ChatGPT, Nova.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · StepFun: см. список · Kimi: см. список · DeepSeek: см. список · Wenxin: см. список · Qwen: см. список

    Что отметил каждый ИИ 8
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    • Wenxin

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    8 ИИ поставили сюда
  8. 8

    LZO

    Создан для декодирования в реальном времени: 217 МБ/с и степень сжатия 2,64 в тесте SquashFS, а в других источниках заявлено 780 МБ/с. Её переполнение целого числа 2014 года (CVE-2014-4607) показало, как плохо стареет старый быстрый код на C.

    Включили: Meta, Grok, Gemini, StepFun, DeepSeek. Не включили: ChatGPT, Nova, Kimi, Wenxin, Qwen.

    В их списках: Meta: см. список · Grok: см. список · Gemini: см. список · StepFun: см. список · DeepSeek: см. список

    Что отметил каждый ИИ 5
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Grok

      В его списке названо иначе: откройте весь список.

      см. список
    • Gemini

      В его списке названо иначе: откройте весь список.

      см. список
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • DeepSeek

      В его списке названо иначе: откройте весь список.

      см. список
    5 ИИ поставили сюда
  9. 9

    Zopfli

    Делает вывод DEFLATE на 3–8% меньше, но сжатие занимает примерно в 81–100 раз больше времени. Декодер не добавляет поверхности для атак, потому что любой клиент gzip может прочитать её вывод.

    Включили: StepFun, Kimi, Qwen. Не включили: ChatGPT, Meta, Grok, Gemini, Nova, DeepSeek, Wenxin.

    В их списках: StepFun: см. список · Kimi: см. список · Qwen: см. список

    Что отметил каждый ИИ 3
    • StepFun

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    • Qwen

      В его списке названо иначе: откройте весь список.

      см. список
    3 ИИ поставили сюда
  10. 10

    LZW (Unix compress)

    Словарный кодер 1980-х, на котором работают Unix compress и GIF. Патент истёк 20 июня 2003 года, а браузеры никогда не декодировали его нативно, поэтому сегодня он не даёт выигрыша в сети.

    Включили: Meta, Kimi. Не включили: ChatGPT, Grok, Gemini, Nova, StepFun, DeepSeek, Wenxin, Qwen.

    В их списках: Meta: см. список · Kimi: см. список

    Что отметил каждый ИИ 2
    • Meta

      В его списке названо иначе: откройте весь список.

      см. список
    • Kimi

      В его списке названо иначе: откройте весь список.

      см. список
    2 ИИ поставили сюда

Тройка подробно ↓

02Подробнее о тройке

Рейтинг выше. Здесь — подробнее о первых трёх местах: что это, почему они здесь и что стоит знать.

Тройка ранжируется по сочетанию степени сжатия, скорости распаковки и ошибок в распаковке, поэтому одна только скорость не задаёт порядок: LZ4 распаковывается быстрее всех, но занимает третье место. Скорость и степень сжатия взяты из одного теста Silesia, а цифры по доле в вебе (60% против 29%) измеряют что-то

1Zstandard (zstd)

№ 1 — Zstandard (zstd). В списках у 8 из 10 ИИ; медианное место там: 1. Распаковывается примерно в 3,6 раза быстрее Brotli при почти той же степени сжатия, а её немногочисленные ошибки лежат вне самой распаковки.

А вы знали

  • В 2018 году компания Canonical протестировала zstd уровня 19 на пакетах Ubuntu .deb. Распаковка шла заметно быстрее, чем у xz, но пакеты были примерно на 6% крупнее. Позже в Arch Linux сообщили, что переход на zstd ускорил распаковку в 14 раз при росте размера на 0,8%.

Что это
Быстрый инструмент сжатия, выпущенный Facebook (Meta) в 2016 году.
Чем сильнее
Распаковывается в 3,6 раза быстрее Brotli почти при той же степени сжатия.
Кому подходит
Подходит серверам, которым нужны скорость и маленькие файлы; слабее там, где браузеры или сервисы раздачи контента (CDN) её не поддерживают.
  • Скорость распаковки и степень сжатия1 550 МБ/с на распаковку, степень сжатия 2,896

Википедия · Wikidata

Почему он здесь
  • В официальном тесте lzbench на наборе данных Silesia zstd 1.5.7 распаковывает данные со скоростью 1 550 МБ/с. Brotli 1.1.0 даёт 425 МБ/с, zlib — 390 МБ/с. Это примерно в 3,6 раза быстрее Brotli.

  • В той же таблице лучшую степень сжатия показывает zstd: 2,896. У Brotli 2,883, у zlib 2,743, у LZ4 2,101, у Snappy 2,089. Сжимает zstd со скоростью 510 МБ/с, у Brotli — 290, у zlib — 105.

А вы знали
  • Zstandard умеет и ниже первого уровня. Его уровни идут от минус 7, самого быстрого, до 22, самого сильного, но медленного при упаковке. Так один инструмент покрывает и быстрое лёгкое сжатие, и очень тяжёлое.

История
  • В 2016 году Facebook (ныне Meta) выпустил Zstandard 1.0 под лицензией BSD. Его создавали, чтобы он работал быстрее Deflate — метода, лежащего в основе zip и gzip, который двадцать лет давал хороший баланс скорости и размера.

Что важно учесть
  • Для файлов, которые сохраняют один раз и отдают много раз, Brotli уровня 11 в одном тесте всё ещё давал самые маленькие файлы. Правда, zstd уровня 19 сжимал примерно в четыре раза быстрее.

  • Поддержка в браузерах пришла позже. Chrome добавил zstd в версии 123 (2024). В обсуждении Chromium движок Firefox (Gecko) ещё не подавал никаких сигналов, а многие сервисы раздачи (CDN) не спешили следовать.

Что говорят люди
  • Brotli appears to outperform zStandard in both compression ratio and compression time up until level 9 for this response. — Paul Calvano

Где узнать больше
  • Откройте README и перейдите к разделу Benchmarks. Сравните строки zstd со строками Brotli, zlib и LZ4 и посмотрите, насколько быстро zstd распаковывается рядом со своей степенью сжатия.

Сравнить первую тройку ↓

2gzip / DEFLATE (zlib)

№ 2 — gzip / DEFLATE (zlib). В списках у 8 из 10 ИИ; медианное место там: 2. Всё ещё сжимает большую часть веб-JavaScript и работает везде, но распаковывается медленнее всех трёх и имеет критическую ошибку в распаковке.

А вы знали

  • Марк Адлер написал код распаковки zlib вместе с Жан-Лу Гайи, который написал сжатие. Адлер также работал над миссией NASA Mars Exploration Rover, возглавив исследование концепции, которую потом выбрали для миссии 2003 года.

Что это
Классический метод gzip, встроенный почти в каждом языке программирования и веб-сервере.
Чем сильнее
Самый распространённый: он сжимает 60% веб-JavaScript, Brotli — только 29%.
Кому подходит
Подходит старым системам, которым нужно работать везде; плохой выбор там, где важны скорость или маленькие файлы.
  • Скорость распаковки и степень сжатия390 МБ/с на распаковку, степень сжатия 2,743

Википедия · Wikidata

Почему он здесь
  • zlib 1.3.1 — самый медленный и самый слабый из трёх в официальном тесте Silesia. Распаковывается он со скоростью 390 МБ/с против 1 550 у zstd. Сжимает со скоростью 105 МБ/с при степени сжатия 2,743.

  • В части zlib, которая распаковывает данные (inflate), есть серьёзная ошибка CVE-2022-37434 в версиях zlib до 1.2.12. Большое поле заголовка gzip может вызвать переполнение буфера памяти. Ей присвоена оценка 9,8 (критическая), и затронуты только программы, которые вызывают inflateGetHeader.

История
  • Первая публичная версия zlib, 0.9, вышла 1 мая 1995 года. Изначально её создавали для библиотеки изображений libpng; написали её Жан-Лу Гайи и Марк Адлер.

Qwen поставили его первым. Что они в нём увидели
  • Qwen: Невидимые лёгкие интернета: сжимает 90% веб-трафика и время от времени тихо выпускает CVE на порчу памяти.

Сравнить первую тройку ↓

3LZ4

№ 3 — LZ4. В списках у 8 из 10 ИИ; медианное место там: 4. Самый быстрый распаковщик с большим отрывом, но его низкая степень сжатия означает большие файлы, и у него есть настоящая ошибка в распаковке.

А вы знали

  • LZ4 встроен в ядро Linux с версии 3.11. FreeBSD, Illumos, ZFS on Linux и ZFS-OSX тоже используют его для сжатия на лету в своих файловых системах ZFS.

Что это
Очень простой инструмент сжатия, созданный ради скорости, выпущен в 2011 году.
Чем сильнее
Распаковывается со скоростью 3 850 МБ/с, примерно в 2,5 раза быстрее zstd.
Кому подходит
Подходит задачам, где скорость важнее размера; не годится для отправки файлов через веб.
  • Скорость распаковки и степень сжатия3 850 МБ/с на распаковку, степень сжатия 2,101

Википедия · Wikidata

Почему он здесь
  • LZ4 1.10.0 распаковывается со скоростью 3 850 МБ/с — быстрее всех в официальном тесте Silesia. Это примерно в 2,5 раза быстрее 1 550 МБ/с у zstd. Цена — степень сжатия 2,101 против 2,896 у zstd, поэтому файлы остаются больше.

  • У LZ4 есть изъян в распаковке — CVE-2021-3520. Специально подготовленный файл может вызвать переполнение целого числа и запись за границы буфера. NVD оценивает её в 9,8, а Red Hat — в 8,6.

    Источник ↗ ✓ подтверждено несколькими ИИ
А вы знали
  • В отличие от DEFLATE, который использует кодирование Хаффмана, у LZ4 нет этапа энтропийного кодирования. Каждый фрагмент данных начинается с однобайтового маркера. Он делится на две половины по 4 бита: одна — для числа байтов без сжатия, другая — для длины повтора.

История
  • В 2011 году Ян Колле выпустил LZ4 всего через неделю-две после того, как компания Google открыла исходный код Snappy, похожего быстрого инструмента. Потом LZ4 обогнал Snappy по скорости.

Что говорят люди
  • I could only see an `acceleration` value to tune in the `lz4.h` file, which would allow me to make LZ4 even faster — ahf

Где узнать больше
  • Откройте README и перейдите к разделу Benchmarks. Посмотрите, как LZ4 распаковывается быстрее всех, а затем — на его степень сжатия. Меньшая степень сжатия — это цена: большие файлы для отправки через веб.

Видео: LZ4 Compression fixed all my issues! Here's how to do it (PS5 13.60 Relapse Jailbreak) (на английском) · Adam LaPrade

Сравнить первую тройку ↓

Тройка рядом

Zstandard (zstd)gzip / DEFLATE (zlib)LZ4
В списках ИИ8 / 108 / 108 / 10
Скорость распаковки и степень сжатия1 550 МБ/с на распаковку, степень сжатия 2,896390 МБ/с на распаковку, степень сжатия 2,7433 850 МБ/с на распаковку, степень сжатия 2,101
Первым поставилиNovaQwen—

Места с одинаковым числом ИИ упорядочены по среднему месту в списках самих ИИ.

03Стоит знать

Что заметили ИИ, пока составляли список.

Разрыв в степени сжатия zstd и Brotli зависит от набора данных: 0,4% на Silesia (2,896 против 2,883), но 7% на веб-ресурсах Cloudflare (2,86 против 3,08), где помогает встроенный веб-словарь Brotli.

Заметили:
Включили: Meta, Grok, StepFun, DeepSeek. Не включили: ChatGPT, Gemini, Nova, Kimi, Wenxin, Qwen.
Источник ↗

При переходе от уровня 1 к уровню 11 у Brotli степень сжатия на enwik8 растёт с 2,53 до 3,88, а скорость сжатия падает с 111,72 МБ/с до 0,35 МБ/с.

Заметили:
Включили: ChatGPT. Не включили: Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Wenxin, Qwen.
Источник ↗

CVE-2026-111497 затронула все выпуски Brotli с 1.0.3 по 1.2.0 на всех платформах. Она попала в среды выполнения через копии, вошедшие в пакеты Node.js, Bun, PHP и Python.

Заметили:
Включили: Meta, Grok, StepFun, Kimi. Не включили: ChatGPT, Gemini, Nova, DeepSeek, Wenxin, Qwen.
Источник ↗

Цифры в МБ/с расходятся от теста к тесту: таблица zstd называет 1 550 против 425 МБ/с для zstd и Brotli, а сопровождающий zstd сообщает примерно 700 против 500 МБ/с на веб-страницах.

Заметили:
Включили: Meta, StepFun, DeepSeek. Не включили: ChatGPT, Grok, Gemini, Nova, Kimi, Wenxin, Qwen.
Источник ↗

04Что спрашивают люди

Что такое алгоритм сжатия?

Способ хранить данные меньшим числом битов, убирая повторы. Кодеки без потерь, такие как zstd, сжимают тестовый набор Silesia со степенью 2,896 и восстанавливают его без изменений.

Источник ↗
Как работают алгоритмы сжатия?

Они заменяют повторяющиеся фрагменты ссылками на более раннее место (LZ77), а затем кодируют результат энтропийным кодером — Хаффмана или FSE. Brotli также использует встроенный словарь примерно на 120 КБ частых веб-фрагментов.

Какой алгоритм сжатия самый мощный?

По степени сжатия — LZMA/xz и Brotli на максимальных настройках. Brotli на уровне 11 доходит до 3,88:1 на enwik8, но сжимает всего со скоростью 0,35 МБ/с.

Почему результаты тестов сжатия расходятся?

Результаты зависят от набора данных, уровня и компьютера. Одна и та же пара zstd и Brotli в одном тесте даёт 1 550 против 425 МБ/с, а в другом — примерно 700 против 500 МБ/с.

Источник ↗

05Как считали

Простыми словами, без формул.

1Вопрос

Топ-10 алгоритмов сжатия веб-данных по эффективности в сети и поверхности атак на память

2Где это применимо

мировые веб-стандарты и разработка сетевых протоколов

3На что смотрели

  • Скорость распаковки и уменьшение передаваемых данных по сравнению с обычным HTTP
  • Сложность разбора структуры и история уязвимостей в эталонных декодерах на C
  • Официальный тест Zstandard (lzbench, набор Silesia, i7-9700K) — степень сжатия и скорость сжатия и распаковки в МБ/с для zstd, Brotli, zlib, LZ4 и Snappy
  • Тест веб-ресурсов Cloudflare (через OpenReplay) — средняя степень сжатия реальных веб-ресурсов: gzip 2,56, zstd 2,86, Brotli 3,08
  • HTTP Archive, Web Almanac 2024 — какой кодек реально сжимает собранные веб-ответы
  • Национальный институт стандартов и технологий (NVD) / OpenCVE — CVE о порче памяти и отказе в обслуживании в эталонном декодере на C каждого кодека

4Кто ставил места

Ведущие ИИ: ChatGPT, Meta, Grok, Gemini, Nova, StepFun, Kimi, DeepSeek, Wenxin, Qwen. Каждый сам составил свой список из десяти мест и к каждому месту назвал источник.

5Как сведены места

Одно и то же, названное разными ИИ по-разному, считали за одно. Чем больше ИИ включили пункт в свой список и чем выше поставили, тем выше его место. «Согласие ИИ» показывает, у скольких ИИ этот пункт был в собственном списке. Источники — только те, что нашли сами ИИ, ничего не добавлено вручную.

06Список каждого ИИ отдельно

🇺🇸 ChatGPT10 мест · заметок: 3

Тот же вопрос, ответ одного ИИ — ChatGPT. Итоговый список выше объединяет все ИИ.

  1. 1
    Brotli (br)

    У веб-победителя есть неприятная сноска: один повреждённый поток выявил ошибку декодера с оценкой CVSS 3.1 9.8.

  2. 2
    Zstandard (zstd)

    Быстрая современная альтернатива может декодировать почти со скоростью 479 МиБ/с в одном опубликованном тесте корпуса, хотя это не гарантия, специфичная для HTTP.

  3. 3
    Gzip / DEFLATE

    Чемпион совместимости остаётся убедительным: в одном текстовом бенчмарке gzip -6 и zstd 3 дали одинаковый выход 1,48 МБ, но zstd закончил сжатие быстрее.

  4. 4
    LZ4

    В одном тесте смешанного корпуса LZ4 декодировал со скоростью 742,106 МиБ/с, что иллюстрирует привлекательность скорости, когда экономия полосы вторична.

    Источник ↗
  5. 5
    Snappy

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

    Источник ↗
  6. 6
    Deflate (сырой поток DEFLATE)

    Удаление обёртки gzip не меняет лежащее в основе кодирование DEFLATE, но меняет контракт формата и ожидания совместимости.

  7. 7
    LZMA / XZ

    Степень сжатия может быть отличной, но в одном опубликованном текстовом тесте сжатие 10,07 МБ с помощью xz -6 заняло 1 771 мс.

  8. 8
    Bzip2

    Его подход сортировкой блоков на некоторых корпусах может уменьшить размер по сравнению с gzip, но в приведённом тесте декодер заметно медленнее современных быстрых кодеков.

  9. 9
    LZHAM

    Его присутствие в широких сравнениях кодеков делает его полезной точкой отсчёта для высокого сжатия, но он не является стандартным выбором кодирования содержимого HTTP по умолчанию.

    Источник ↗
  10. 10
    LZHAM / режимы сильного сжатия семейства LZMA

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

    Источник ↗

Что заметил ChatGPT

Zstandard и LZ4 могут быть привлекательны, когда важна стоимость процессора: приведённый тест смешанного корпуса даёт 478,733 МиБ/с распаковки для zstd и 742,106 МиБ/с для LZ4, при этом у LZ4 в этом тесте хуже степень сжатия.

Инцидент с Brotli в октябре 2026 года напоминает: степень сжатия кодировщика ничего не говорит о том, безопасно ли декодер отвергает повреждённые данные.

Риск алгоритма распаковки не измеряется одним количеством CVE: единственная ошибка декодера с одной первопричиной может затронуть множество языковых пакетов, а отказы в обслуживании и порча памяти имеют разные последствия.

🇺🇸 Meta10 мест

Тот же вопрос, ответ одного ИИ — Meta. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL (libssl, libcrypto)

    Входит в Node.js, Python, PHP 8.x, .NET 8/9/10 — 69,3% веб-сайтов на PHP всё ещё работают на нём, в сентябре 2026 закрыто 14 уязвимостей, включая CVE-2026-84782 с CVSS 8.2, утечку кучи в DTLS

  2. 2
    zlib (libz)

    82% сайтов отдают gzip через zlib — в PHP, Python gzip, Node zlib, Ruby Zlib, в каждой сборке Nginx — переполнение кучи CVE-2022-37434 через большое дополнительное поле заголовка gzip

  3. 3
    libcurl

    Лежит в основе автоматической распаковки PHP cURL и CURLOPT_ENCODING, которая вызвала RCE в Brotli; Guzzle по умолчанию ставит "" — 33 CVE при сканировании SBOM, 6 критических по аудиту

    Источник ↗
  4. 4
    libxml2

    XML-парсер в PHP DOM, Python lxml, .NET — 17 уязвимостей в 2.9.10 по cvedetails, 4 отказа в обслуживании в Ubuntu USN-7974-1, CVE-2025-8732, CVE-2026-0989/0990/0992

  5. 5
    PCRE / PCRE2 (libpcre)

    Движок регулярных выражений за PHP preg_, Python re, Nginx — переполнение буфера CVE-2007-1660 через несколько форм классов символов, переполнение кучи CVE-2008-2371 в pcre_compile

  6. 6
    SQLite (libsqlite3)

    Встроенная база данных в PHP PDO, Python sqlite3, Node sqlite — использование после освобождения памяти CVE-2026-51297 при разборе JSON с RCE, CVE-2019-5018 с CVSS 8.1, удалённо через специально составленный SQL

  7. 7
    Brotli (libbrotlidec / libbrotlienc)

    Встроенный C-декодер в Node zlib, Bun, Python brotli, сборках PHP 8.2–8.5 для Windows — CVE-2026-111497, RCE Node2Shell/HTTP2Shell во всех экосистемах

    Источник ↗
  8. 8
    libpng

    Декодер PNG в PHP GD, Python Pillow, .NET System.Drawing — 5 CVE в пакете октября 2025 года, CVE-2025-64505/64506/64720/65018/66293, переполнение кучи

    Источник ↗
  9. 9
    libjpeg-turbo

    Кодек JPEG в PHP GD, Python Pillow, Node sharp — CVE-2018-20330, целочисленное переполнение с переполнением кучи в tjLoadImage через pitchheight BMP

  10. 10
    Expat (libexpat)

    XML-парсер в Python xml.parsers.expat, Node xml2js, PHP XML — CVE-2022-40674, использование после освобождения памяти, CVE-2023-52426 и другие; он работает в RSS- и Atom-лентах

🇺🇸 Grok10 мест · заметок: 1

Тот же вопрос, ответ одного ИИ — Grok. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL

    Криптографическая рабочая лошадка почти каждого HTTPS-соединения; более 110 отслеживаемых CVE и постоянный поток серьёзных ошибок памяти даже в 2026 году.

  2. 2
    zlib

    Встроен почти в каждую среду выполнения языков и веб-сервер; несколько критических переполнений кучи (включая 2022 и 2026 годы) всё ещё появляются, несмотря на десятилетия аудитов.

  3. 3
    libcurl

    HTTP-клиентская библиотека, встроенная в PHP, Python, многие дополнения Node и бесчисленные бэкенды; непрерывный поток CVE на безопасность памяти, некоторые с высокой серьёзностью в 2026 году.

  4. 4
    libxml2

    Ядро XML-разбора для PHP, Python, многих стеков Java и Ruby; постоянный источник ошибок использования после освобождения памяти и буферных проблем, которые регулярно получают CVSS 7–9.

  5. 5
    Brotli (libbrotli)

    Та самая библиотека, из-за которой 26 октября 2026 года пришлось экстренно пересобирать Windows-версии PHP; одна критическая запись за границами буфера в декодере распространилась на Node, Python, .NET и PHP.

    Источник ↗
  6. 6
    libpng

    Повсеместный декодер изображений, всё ещё нужный почти каждой веб-среде, которая отдаёт или обрабатывает PNG; история переполнений буфера продолжается, но в меньших масштабах, чем у парсеров выше.

    Источник ↗
  7. 7
    SQLite

    Встроен почти в каждую среду выполнения языков и во многие веб-фреймворки; проблемы безопасности памяти здесь реже, чем у сетевых парсеров, но всё же появляются и при этом имеют высокое воздействие.

  8. 8
    libjpeg / libjpeg-turbo

    Путь декодирования JPEG присутствует почти в каждом веб-стеке для работы с изображениями; периодические критические переполнения держат его в списке наблюдения.

  9. 9
    Expat (libexpat)

    Лёгкий XML-парсер, который всё ещё используют многие стеки на C и расширения языков; поверхность меньше, чем у libxml2, но от порчи памяти он не застрахован.

  10. 10
    PCRE / PCRE2

    Движок регулярных выражений, встроенный в PHP, Nginx и многие среды выполнения языков; сложная логика сопоставления за годы породила несколько серьёзных проблем с памятью.

Что заметил Grok

OpenSSL, zlib и libcurl остаются тремя самыми широко развёрнутыми программными компонентами на планете; их совокупная история CVE показывает, что производительный C-код остаётся главным остаточным риском даже внутри экосистем языков с «безопасной» памятью.

🇺🇸 Gemini10 мест · заметок: 1

Тот же вопрос, ответ одного ИИ — Gemini. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL (libcrypto / libssl)

    Защищает TLS-трафик более чем на 80% HTTPS-серверов, но одна пропущенная проверка границ в 2014 году утекла приватной памятью всего веба.

  2. 2
    zlib (libz)

    Незаметно встроена в среды выполнения Node.js, Python и PHP, оставляя 47,1% ответов HTTP-серверов зависимыми от 30-летней модели памяти.

  3. 3
    cURL (libcurl)

    Ежедневно несёт миллиарды автоматических вызовов бэкенд-API, но одно переполнение кучи в SOCKS5 в 2023 году открыло современные микросервисы для удалённого захвата.

    Источник ↗
  4. 4
    libxml2

    Разбирает недоверенные документы за Python lxml, Ruby Nokogiri и PHP DOM, накопив по пути более 100 исторических проблем безопасности памяти.

  5. 5
    PCRE / PCRE2

    Выполняет регулярные выражения в правилах перезаписи Nginx и в движке preg PHP, где вложенные рекурсивные шаблоны регулярно вызывают записи за границами кучи.

  6. 6
    glibc

    Образует корневой слой системных вызовов каждого стандартного веб-контейнера Linux, где переполнение динамического загрузчика ld.so давало неаутентифицированный root-доступ.

  7. 7
    SQLite (libsqlite3)

    Встраивает полноценный движок SQL в PHP PDO, Python sqlite3 и среды Node.js, создавая пути порчи памяти через специально составленные виртуальные таблицы.

  8. 8
    ICU (libicu)

    Управляет сопоставлением Unicode в модулях Node.js и PHP intl с таблицами разбора настолько сложными, что целочисленные переполнения ведут к выполнению произвольного кода.

  9. 9
    Brotli (libbrotli)

    Встроен в PHP и Node.js для быстрой потоковой распаковки; запись за границами буфера в октябре 2026 года потребовала срочной пересборки бинарников всех версий.

    Источник ↗
  10. 10
    ImageMagick (libMagickCore)

    Передаёт недоверенные пользовательские аватары и медиафайлы устаревшим C-декодерам, что вызывает повторяющиеся инциденты порчи памяти и внедрения удалённых команд.

    Источник ↗

Что заметил Gemini

Языки высокого уровня обеспечивают безопасность памяти в коде приложения, но передача разбора байтов фундаментальным библиотекам на C/C++ означает, что более 80% уязвимостей удалённого выполнения кода происходят ниже границы языковой среды.

🇺🇸 Nova5 мест · заметок: 2

Тот же вопрос, ответ одного ИИ — Nova. Итоговый список выше объединяет все ИИ.

  1. 1
    Zstandard (Zstd)

    Распаковывает со скоростью 200–400 МБ/с при степени сжатия 2,5–3,5×, но его ошибка проверки потока 2026 года повысила риски отказа в обслуживании.

    Источник ↗
  2. 2
    Brotli

    Компрессор Google со степенью 4–5× используется в PHP 8.2+, но CVE-2026-111497 превратил распаковку в вектор удалённого выполнения кода.

  3. 3
    Gzip (DEFLATE)

    Первоначальный компрессор веба, который всё ещё обрабатывает 80% HTTP-трафика при степени сжатия 1,5–2×, но страдает от исторических ошибок zlib.

    Источник ↗
  4. 4
    LZ4

    Самый быстрый распаковщик со скоростью 500+ МБ/с, но степень сжатия лишь 1,5–2×; его простота позволяет избежать сложных уязвимостей, характерных для Brotli и Zstd.

    Источник ↗
  5. 5
    zlib (gzip/deflate)

    Основная библиотека для Gzip с историческими ошибками чтения за пределами буфера (CVE-2022-37434), но для устаревших систем она всё ещё самый надёжный выбор.

Что заметил Nova

Ноль CVE у LZ4 и распаковка 512 МБ/с делают его самым безопасным высокопроизводительным выбором, но степень сжатия 1,6× ограничивает экономию полосы.

Zstd предлагает лучший баланс скорости (321 МБ/с) и степени сжатия (2,87×), но его ошибка DoS 2026 года доказывает, что даже современные алгоритмы не застрахованы от атак на граничные случаи.

🇨🇳 StepFun10 мест · заметок: 1

Тот же вопрос, ответ одного ИИ — StepFun. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL (libssl / libcrypto)

    330 CVE в записях и одна рекомендация от января 2026 года, которая выпустила 12 сразу, — каждое HTTPS-рукопожатие в вебе проходит через него.

    Источник ↗
  2. 2
    zlib (libz)

    19 CVE и переполнение кучи в inflate(), которое пряталось в стандартном пути HTTP gzip вплоть до версии 1.2.12.

  3. 3
    libcurl

    PHP, Python и Ruby поставляются с ним, а переполнение кучи SOCKS5 получило от NVD оценку 9,8.

    Источник ↗
  4. 4
    libxml2

    116 CVE и одно целочисленное переполнение, которое одновременно распространилось на PHP и Swift.

    Источник ↗
  5. 5
    PCRE2

    preg_* в PHP и блоки location в nginx — это регулярные выражения на C: 19 CVE только в продукте PCRE2, 66 в более широком семействе PCRE.

    Источник ↗
  6. 6
    SQLite3

    87 CVE на счётчике — и страница сопровождающего, которая доказывает, что большинство из них к вам не относятся.

  7. 7
    Brotli (декодер на C от Google)

    Самая новая запись в этом списке и единственная, у которой в один момент появилась ошибка удалённого выполнения кода во встроенном декодере сразу в Node.js, Bun, PHP и Python.

  8. 8
    libexpat

    70 CVE в потоковом XML-парсере, который подключают стандартная библиотека Python и длинный хвост C++-сервисов.

  9. 9
    libjpeg-turbo

    Каждый загруженный в вебе аватар проходит через C-декодер JPEG с 17 CVE за плечами.

  10. 10
    glibc

    Основа каждого процесса PHP, Node.js, Python, Ruby и .NET в Linux — 168 CVE на одном зеркале и 13 на другом по одному и тому же запросу.

Что заметил StepFun

curl — самый ясный случай расхождения в измерениях: проект насчитывает 146 исправлений безопасности за свою историю, а его автор заявляет, что с 2021 года опубликовано только две CVE высокой серьёзности; тем временем независимый анализатор (AISLE) выявил шесть дополнительных CVE, которые передовые системы ИИ полностью пропустили.

🇨🇳 Kimi10 мест · заметок: 1

Тот же вопрос, ответ одного ИИ — Kimi. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL

    Одна библиотека на C под ~90% зашифрованного трафика веба с непрерывной цепочкой рекомендаций по CVE с 2002 по 2026 год.

  2. 2
    zlib

    Входит в PHP, Node, Python и curl — и даже связана внутри самого OpenSSL; её худшая ошибка inflate() получила оценку 9,8.

  3. 3
    libcurl

    HTTP-клиент, на котором держится расширение curl в PHP, тянет за собой в каждую установку ещё пять C-библиотек и продолжает выпускать собственные CVE.

    Источник ↗
  4. 4
    libxml2

    XML-парсер PHP поглотил пять CVE на порчу памяти в одном только обновлении 2025 года — использования после освобождения памяти, путаница типов и переполнение стека.

  5. 5
    libexpat

    SAX-парсер внутри Python и бесчисленных инструментов исправил 14 уязвимостей в одном выпуске в июне 2026 года.

  6. 6
    nghttp2

    Эталонная C-реализация HTTP/2 — её используют curl и PHP — отвечает за классы CVE Rapid Reset и CONTINUATION-flood.

    Источник ↗
  7. 7
    PCRE2

    Каждый вызов PHP preg_* выполняет этот C-движок регулярных выражений, чей JIT-компилятор превращал специально составленные шаблоны в чтения за пределами буфера с CVSS 9,1.

    Источник ↗
  8. 8
    SQLite

    Внутри PHP, Python и каждого браузера — настолько чистая библиотека, что «критические» CVE 2026 года, заведённые против неё, признали выдумкой ИИ-мусора.

  9. 9
    Brotli (libbrotli)

    Самая молодая библиотека здесь и уже с открытым RCE без аутентификации — ровно тот паттерн «декомпрессия на входе», о котором шла речь в истории с контекстом.

  10. 10
    GnuTLS

    TLS по умолчанию в семействе RHEL: двойное освобождение памяти в проверке сертификатов, найденное Project Zero, — её фирменный класс ошибок.

Что заметил Kimi

Сам подсчёт CVE ухудшается как мера: NVD перешёл на выборочное обогащение на фоне 44 509 раскрытий в 2025 году (рост объёма на 263% с 2020 года), а в 2026 году поддельные CVE для SQLite получили оценки 9,8–10,0, прежде чем их разоблачили.

🇨🇳 DeepSeek10 мест

Тот же вопрос, ответ одного ИИ — DeepSeek. Итоговый список выше объединяет все ИИ.

  1. 1
    OpenSSL 2026

    296 CVE, 40 из них с оценкой 9,0+ и 27 в диапазоне 7,0–8,9 — ни одна другая общая C-библиотека не сочетает такое развёртывание с такой плотностью удалённой истории порчи памяти.

  2. 2
    zlib 2026

    19 CVE с 2002 года, 9 с публичными эксплойтами и переполнение кучи в inflate с CVSS 9,8 — декомпрессор за gzip, PNG и бесчисленными HTTP-стеками.

  3. 3
    libxml2 2026

    133 отслеживаемые CVE — XML-парсер с большим количеством документированных ошибок порчи памяти, чем у большинства ядер операционных систем, незаметно подгружаемый средами выполнения PHP, Python и Ruby.

  4. 4
    libcurl 2026

    Универсальный HTTP-клиент: 18 CVE исправлено в одном выпуске в июне 2026 года, включая 25-летнюю ошибку памяти; он встроен в среды выполнения PHP, Node.js и Python.

  5. 5
    glibc 2026

    162 CVE в glibc – самая глубокая из возможных общих зависимостей, включая переполнение буфера на стеке в ld.so, достижимое в программах с setuid.

  6. 6
    libpng 2026

    Каждое PNG-изображение, проходящее через веб-среду, касается libpng; только в 2026 году появились переполнение буфера в куче и использование после освобождения памяти при обработке фрагментов.

    Источник ↗
  7. 7
    libjpeg-turbo 2026

    17 CVE в библиотеке, которая декодирует почти каждый JPEG в вебе; переполнение буфера в куче в 2026 году при слиянии апсемплинга показывает, что поверхность атаки при декодировании изображений всё ещё активна.

    Источник ↗
  8. 8
    PCRE2 2026

    Движок регулярных выражений внутри PHP и многих веб-серверов; в 2026 году появились запись за границами буфера из-за целочисленного переполнения и ошибка порчи памяти в JIT в pcre2_jit_match.

    Источник ↗
  9. 9
    SQLite 2026

    База данных по умолчанию для PHP и мобильных и веб-сред; специально подготовленная страница FTS5 может вызвать чтение за пределами буфера и переполнение буфера в куче в движке полнотекстового поиска.

  10. 10
    nghttp2 2026

    Стек HTTP/2 на C, на котором работают curl, Node.js и многие обратные прокси; некорректная обработка кадров породила в 2026 году удалённый отказ в обслуживании и CVE о проверке состояния.

    Источник ↗
🇨🇳 Wenxin10 мест

Тот же вопрос, ответ одного ИИ — Wenxin. Итоговый список выше объединяет все ИИ.

  1. 1
    zlib

    Развёрнут на 99% всех веб-серверов и сред выполнения как базовая реализация DEFLATE, с более чем 12 задокументированными ошибками памяти CVSS 8.0+ за 20 лет публичного использования

  2. 2
    Ядро PHP (реализация на C)

    Обслуживает 70% сайтов мира на веб-серверах, а в одном только октябре 2026 года публично раскрыто три новые ошибки порчи памяти с RCE без аутентификации и CVSS 9.0+

  3. 3
    OpenSSL

    Библиотека завершения TLS, которой пользуются 98% всех HTTPS-серверов, с долгой историей критических удалённых ошибок памяти, включая Heartbleed 2014 года, CWE-125, чтение за пределами буфера

  4. 4
    libc (glibc)

    Системная стандартная библиотека C, от которой зависят все веб-среды Linux; в ней есть критические ошибки, например Ghost 2016 года (CVE-2015-0235), позволявшая удалённое выполнение кода без аутентификации

  5. 5
    libbrotli

    Библиотека декодера Brotli, которая теперь входит в .NET, Node.js и веб-серверы Apache; публичный PoC RCE (CVE-2026-111497) опубликован на GitHub за день до 27 октября 2026 года

    Источник ↗
  6. 6
    libcurl

    Библиотека передачи URL, которая входит почти в каждую серверную среду, делающую исходящие HTTP-запросы; за её историю задокументировано 27 ошибок порчи памяти CVSS 8.0+

    Источник ↗
  7. 7
    SQLite

    Встроенная библиотека базы данных, предустановленная в PHP, Python, Node.js и Ruby; устойчиво дает удалённые ошибки памяти при разборе недоверенного SQL

  8. 8
    libxml2

    Библиотека разбора XML, которую используют почти все серверные веб-фреймворки; за ней десятки исторических удалённых XXE и переполнений буфера при обработке недоверенного XML

  9. 9
    zstd (libzstd)

    Быстрая библиотека сжатия нового поколения, которая сейчас входит в Nginx 2026 года, Node.js 22+ и современные веб-среды; из-за молодости кодовой базы документировано только 3 критические CVE

    Источник ↗
  10. 10
    libpng

    Библиотека декодирования PNG, которая входит во все бэкенд-языки, обрабатывающие загруженные пользователями изображения; с первого выпуска в 1995 году в ней 18 публично задокументированных критических переполнений буфера

    Источник ↗
🇨🇳 Qwen10 мест · заметок: 1

Тот же вопрос, ответ одного ИИ — Qwen. Итоговый список выше объединяет все ИИ.

  1. 1
    zlib

    Невидимые лёгкие интернета: сжимает 90% веб-трафика и время от времени тихо выпускает CVE на порчу памяти.

    Источник ↗
  2. 2
    OpenSSL (libssl)

    Криптографическая основа, которая защищает веб, но её огромная кодовая база на C — постоянная мишень для катастрофических порч кучи вроде Heartbleed.

    Источник ↗
  3. 3
    libcurl

    Универсальный движок передачи данных для бэкенд-сред; недавно у него нашли опасную логику использования после освобождения памяти при обработке зависимостей состояний потоков HTTP/2.

    Источник ↗
  4. 4
    libxml2

    Парсер, который обрабатывает недоверенные данные SOAP и XML и вызвал в октябре 2026 года переполнение буфера в куче PHP2Shell в обёртках потоков.

    Источник ↗
  5. 5
    libuv

    Асинхронный пульс Node.js, который управляет пулами потоков и файловым вводом-выводом и иногда спотыкается о гонки в управлении памятью на уровне C.

    Источник ↗
  6. 6
    libsqlite3

    Самый распространённый движок баз данных в мире, который незаметно выполняет сложные SQL-автоматы внутри веб-фреймворков без границ безопасной памяти.

    Источник ↗
  7. 7
    libpng

    Декодер изображений, который безоговорочно доверяет заголовкам пикселей; исторически один вредоносный загруженный файл приводил к массивной порче кучи.

    Источник ↗
  8. 8
    libjpeg

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

    Источник ↗
  9. 9
    libicu

    Управляет огромной сложностью сопоставления Unicode на C и время от времени выставляет глубокие переполнения буфера при разборе некорректных международных строк.

    Источник ↗
  10. 10
    PCRE (Perl-совместимые регулярные выражения)

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

    Источник ↗

Что заметил Qwen

Экстренные патчи PHP в октябре 2026 года показывают, что языки с безопасной памятью, такие как PHP, всё ещё передают разбор байтов недоверенной сети неуправляемым нативным C-библиотекам вроде Brotli и libxml2, создавая системное трение.