Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Vosproizvedenie raskrytie i ispravlenie uyazvimosti v libheif sovmestno s hacktr
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · Все права защищены.

Воспроизведение, раскрытие и исправление уязвимости в libheif совместно с Hacktron и сопровождающими

Источник: Vercel•28 сентября 2026 г. в 22:55

Воспроизведение, раскрытие и исправление уязвимости в libheif совместно с Hacktron и сопровождающими

Как Vercel и Hacktron координировали исправление уязвимости удаленного выполнения кода, которая затрагивала оптимизацию изображений в Next.js через sharp, libvips и libheif.

В августе 2026 года Hacktron сообщил о том, что выглядело как уязвимость удаленного выполнения кода (RCE) в функции оптимизации изображений Next.js. В ходе расследования выяснилось, что уязвимый код находился не в самом Next.js, а выше по цепочке зависимостей — в libheif, декодере изображений AVIF, который используется в Next.js, ImageMagick, WordPress, sharp и значительной части веб-экосистемы.

Вскоре после того, как Hacktron уведомила нас, мы совместно с ними воспроизвели RCE на актуальной сборке Next.js и сообщили об уязвимости сопровождающим sharp, libvips и libheif. Затем мы развернули митигацию на уровне всей платформы Vercel и начали работать с сопровождающими над исправлением.

Copy link to headingЦепочка зависимостей

Функция оптимизации изображений Next.js позволяет приложениям изменять размер и оптимизировать изображения с помощью компонента <Image> (next/image). Для изображений AVIF цепочка зависимостей обработки изображений выглядит следующим образом:

  • <Image> вызывает /_next/image,

<Image> вызывает /_next/image,

  • /_next/image вызывает sharp

/_next/image вызывает sharp

  • sharp вызывает libvips

sharp вызывает libvips

  • libvips использует libheif для декодирования изображения

libvips использует libheif для декодирования изображения

Это означало, что уязвимый код находился не в Next.js, но к нему по-прежнему можно было получить доступ через оптимизацию изображений Next.js. Зловредное изображение AVIF, отправленное на эндпоинт оптимизации изображений, вызывало бы libheif через sharp и libvips.

Таким образом, одним из очевидных способов митигации было отключение оптимизации AVIF в Next.js. В этом случае вредоносные изображения AVIF останавливались бы на эндпоинте оптимизации изображений, вместо того чтобы передаваться через sharp и libvips в libheif. Эксплойт не распространялся бы дальше вверх по цепочке.

Тем не менее, митигация только в Next.js без исправления на стороне вышестоящих зависимостей создавала проблемы с раскрытием информации.

Copy link to headingРаскрытие уязвимости и координация исправления на стороне зависимостей

После того как мы совместно с Hacktron успешно воспроизвели проблему, мы развернули митигацию на уровне всей платформы Vercel и обратились к сопровождающим sharp, libvips и libheif, чтобы раскрыть уязвимость и начать работу над исправлением.

Вот хронология событий:

  • 11–12 августа: Hacktron сообщила о проблеме в Vercel; Hacktron и Vercel воспроизвели RCE с помощью работающего доказательства концепции.

11–12 августа: Hacktron сообщила о проблеме в Vercel; Hacktron и Vercel воспроизвели RCE с помощью работающего доказательства концепции.

  • 13 августа: Vercel применила митигацию на уровне платформы с помощью своей службы оптимизации изображений.

13 августа: Vercel применила митигацию на уровне платформы с помощью своей службы оптимизации изображений.

  • 19 августа: Команда Next.js встретилась с сопровождающим libvips и начала координацию между sharp, libvips и libheif.

19 августа: Команда Next.js встретилась с сопровождающим libvips и начала координацию между sharp, libvips и libheif.

  • 24 августа: Next.js уведомила своих партнеров по безопасности.

24 августа: Next.js уведомила своих партнеров по безопасности.

  • 25 августа: Next.js выпустила обновление безопасности, отключающее оптимизацию AVIF.

25 августа: Next.js выпустила обновление безопасности, отключающее оптимизацию AVIF.

Команда безопасности Vercel связалась с сопровождающими sharp и libvips по электронной почте и начала координацию с libheif через GitHub Security Advisory. Hacktron также предоставила детали уязвимости и эксплойта для libheif. 19 августа команда Next.js встретилась с сопровождающим libvips и согласовала дальнейшие действия для sharp, libvips и libheif. Сопровождающий libheif продолжил работу по устранению уязвимости в рамках GitHub Security Advisory, открытого Hacktron.

24 августа Next.js уведомила своих партнеров по безопасности об уязвимости в libheif и ее влиянии на Next.js (уведомления партнеров являются стандартной частью процесса выпуска обновлений безопасности Next.js).

25 августа, спустя шесть дней после встречи 19 августа, сопровождающий libheif выпустил версию v1.23.2, в которой уязвимость RCE была устранена.

Copy link to headingМитигации в Vercel и Next.js

Обеспечение безопасности Vercel и ее клиентов оказалось прямолинейным: все запросы оптимизации изображений Next.js на Vercel проходят через централизованную службу оптимизации изображений. Поэтому мы отключили оптимизацию и изменение размера AVIF в этой центральной службе. Любые входящие изображения AVIF не передавались в libheif для декодирования, и RCE на Vercel была невозможна.

Защита саморазвертываемых приложений потребовала выпуска новой версии Next.js. 25 августа Next.js published a security release, релиз которого изначально планировался для решения другой проблемы. После координации исправления в вышестоящей зависимости мы включили митигацию AVIF в этот выпуск и опубликовали его на день раньше запланированного срока. В этом релизе была отключена оптимизация и изменение размера AVIF в Next.js; учитывая, что пропатченная версия libheif еще распространялась по цепочке зависимостей, это было самым своевременным решением. Мы также опубликовали бюллетень по безопасности, чтобы сообщить о степени серьезности проблемы.

Copy link to headingНаша приверженность идее повышения безопасности веб-среды

Объем обнаруживаемых уязвимостей в ПО с открытым исходным кодом продолжает расти, и эти цифры поражают воображение:

Поскольку языки на базе ИИ ускоряют исследования уязвимостей, мы ожидаем появления новых уязвимостей вышестоящих зависимостей, аналогичных RCE в libheif, во всей экосистеме Open Source. В последние месяцы количество релизов безопасности Next.js увеличилось, и мы ожидаем, что эта тенденция сохранится по мере устранения новых уязвимостей, которые обнаруживаем как мы, так и исследовательское сообщество.

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

Copy link to headingБлагодарности

Спасибо Hacktron за ответственное раскрытие уязвимости AVIF, совместную работу по воспроизведению проблемы и координацию с сопровождающими зависимостей в процессе устранения.

Мы также хотим поблагодарить сопровождающих sharp, libvips и libheif. Их работа над исправлениями в зависимостях сделала возможным скоординированное устранение уязвимости по всей цепочке обработки изображений.

Мы сотрудничаем с талантливыми исследователями для обеспечения безопасности Next.js и других фреймворков с открытым исходным кодом с помощью программы выплаты вознаграждений за найденные уязвимости в Open Source от Vercel. Мы призываем всех, кто хочет внести свой вклад в безопасность поддерживаемых фреймворков, принять в ней участие.

Copy link to headingСсылки

← Все статьи

О чём эта статья

Ещё в разделе «Разработка ПО»

Все →
Итоги Breaking Ground за IV квартал 2026 г.: фора для вашей стратегии на 2027 год
Sprout Social

Итоги Breaking Ground за IV квартал 2026 г.: фора для вашей стратегии на 2027 год

Применение открытых политик к AWS API Gateway
MuleSoft

Применение открытых политик к AWS API Gateway

Бизнес-кредиты на пополнение капитала: 6 видов и принципы работы (2026)
Shopify

Бизнес-кредиты на пополнение капитала: 6 видов и принципы работы (2026)

Виды натуральных тканей для одежды (2026)
Shopify

Виды натуральных тканей для одежды (2026)

Реклама в ChatGPT: что нужно знать маркетологам
Sprinklr

Реклама в ChatGPT: что нужно знать маркетологам

За пределами связи: изучаем квантовый рубеж вместе с EPB Quantum Lab
Amdocs

За пределами связи: изучаем квантовый рубеж вместе с EPB Quantum Lab

Ещё от Vercel

На модели принятия решений приходится 26% запросов; Anthropic теперь привлекает новых клиентов в соотношении 2:1
Vercel

На модели принятия решений приходится 26% запросов; Anthropic теперь привлекает новых клиентов в соотношении 2:1

Представляем Vercel Security Review
Vercel

Представляем Vercel Security Review

Упрощение кэширования во время выполнения на Vercel
Vercel

Упрощение кэширования во время выполнения на Vercel

Представляем Geist Serif
Vercel

Представляем Geist Serif

Представляем виртуальные модели в AI Gateway
Vercel

Представляем виртуальные модели в AI Gateway

Представляем Vercel CI
Vercel

Представляем Vercel CI