Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Vosproizvedenie raskrytie i ustranenie uyazvimosti v libheif sovmestno s hacktro
Dev48

© 2026 · All rights reserved.

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

Источник: Vercel

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

Источник: Vercel

Как Vercel и Hacktron скоординировали исправление уязвимости удаленного выполнения кода (RCE), которая затрагивала оптимизацию изображений в Next.j через harp, libvip и libheif.

26 сентября 2026 г.

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

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

Скопировать ссылку на заголовок: Цепочка зависимостей

Оптимизация изображений в 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 без устранения причины выше по цепочке создавало проблему с раскрытием информации.

Скопировать ссылку на заголовок: Раскрытие уязвимости и координация исправления выше по цепочке

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

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

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

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

  • 13 августа: Vercel применила платформенное решение через свою службу оптимизации изображений (Image Optimization Service).

13 августа: Vercel применила платформенное решение через свою службу оптимизации изображений (Image Optimization Service).

  • 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.

Скопировать ссылку на заголовок: Решения Vercel и Next.js

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

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

Скопировать ссылку на заголовок: Наше обязательство по повышению безопасности интернета

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

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

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

Скопировать ссылку на заголовок: Благодарности

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

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

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

Скопировать ссылку на заголовок: Ссылки

← Все статьи

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

Все →
Новый навык обнаруживает риски ИИ-агентов, устраняет их и доказывает эффективность исправлений
Microsoft

Новый навык обнаруживает риски ИИ-агентов, устраняет их и доказывает эффективность исправлений

Некоторые клиенты Supabase открывают в публичном доступе огромные массивы личных данных пользователейПресса
Supabase

Некоторые клиенты Supabase открывают в публичном доступе огромные массивы личных данных пользователей

Основы Blazor: SEO для веб-приложений на Blazor
Telerik

Основы Blazor: SEO для веб-приложений на Blazor

Вас затронули сокращения? Не упустите возможность приобрести пропуск Expo+ на TechCrunch Disrupt 2026 всего за 75 долларовПресса
Expo

Вас затронули сокращения? Не упустите возможность приобрести пропуск Expo+ на TechCrunch Disrupt 2026 всего за 75 долларов

Последние 24 часа, чтобы сэкономить до 200 долларов на TechCrunch Disrupt 2026. Причина 5 из 5 для участия: ИмпульсПресса
Momentum

Последние 24 часа, чтобы сэкономить до 200 долларов на TechCrunch Disrupt 2026. Причина 5 из 5 для участия: Импульс

Мы создаем Copilot как новую операционную систему для работы, охватывающую любую модель, любой форм-фактор и любую задачу. Сегодня мы объявляем о самом масштабном обновлении Copilot на сегодняшний день, объединяющем четыре компонента [Читать далее]
Microsoft

Мы создаем Copilot как новую операционную систему для работы, охватывающую любую модель, любой форм-фактор и любую задачу. Сегодня мы объявляем о самом масштабном обновлении Copilot на сегодняшний день, объединяющем четыре компонента [Читать далее]

Ещё от Vercel

Модели с открытыми весами занимают 56% объема токенов, Astra удваивает расходы на Fable 5.1
Vercel

Модели с открытыми весами занимают 56% объема токенов, Astra удваивает расходы на Fable 5.1

Программа Bug Bounty от Vercel теперь доступна публично
Vercel

Программа Bug Bounty от Vercel теперь доступна публично

Состояние навыков агентов
Vercel

Состояние навыков агентов

Jev — модель с самой высокой скоростью внедрения в истории AI Gateway
Vercel

Jev — модель с самой высокой скоростью внедрения в истории AI Gateway