CVE-2026-100692 в Debian: уязвимость Hugo, затронутые версии и проверка состояния

CVE: CVE-2026-100692
Продукт: Debian
Дата публикации: 26.09.2026
Критичность: HIGH
CVSS: 8.7 (4.0)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В Debian пакет hugo содержит версию Hugo, в которой проверка изоляции символьных ссылок при сборке сайта останавливается на корневом каталоге монтирования. Это позволяет файлам за пределами проекта попадать в public/ через статические монтирования, если тема или модуль использует symlink на внешний путь. В Debian есть версии, для которых исправление уже выпущено, и версии, где статус остаётся открытым.

Основные характеристики​


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

  • Тип ошибки: CWE-59, обход ограничений пути через symlinked mount roots
  • CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X, оценка 8.7, HIGH
  • Условие атаки: наличие символической ссылки на внешний путь в теме или модуле Hugo, проверяемом при сборке
  • Факт эксплуатации: не подтверждён доступными источниками
  • EPSS: нет данных; процентиль нет данных

Какие продукты и версии затронуты​


В Debian затронут пакет hugo.

  • bookworm: статус resolved, версия в репозитории 0.111.3-1
  • forky: статус open, версия в репозитории 0.165.0-3
  • sid: статус resolved, версия в репозитории 0.167.0-1, fixed_version 0.166.0-1
  • trixie: статус open, версия в репозитории 0.131.0-1

Причина уязвимости​


Hugo проверяет, что тема или модуль находится внутри ожидаемого каталога, но проверка останавливается на самом корневом каталоге монтирования.

Если в теме или модуле есть символическая ссылка на внешний путь, например themes/mytheme/assets -> /some/dir/outside, Hugo не блокирует доступ к файлам за этой ссылкой. Функции вроде resources.Get и resources.Match читают содержимое через symlink, а статические монтирования могут опубликовать эти файлы в public/.

В исправленной версии v0.166.0 symlinked mount roots и symlinked directories между корнем монтирования и каталогом модуля обрабатываются как несуществующие для всех модулей.

Как работает атака​


Атака строится на том, что в проекте Hugo есть тема или vendored module с символической ссылкой, указывающей на внешний каталог.

При сборке сайта Hugo использует эту ссылку как источник ресурсов. Файлы из внешнего каталога читаются и могут попасть в итоговый public/ через статические монтирования.

Модули, загружаемые через Go modules, не затронуты, потому что архивы Go модулей не содержат символических ссылок. Основной проект Hugo может по конфигурации уже монтировать абсолютные пути, поэтому это не является эскалацией для самого проекта.

Условия успешной эксплуатации​


Для успешной эксплуатации нужны следующие условия:

  • установлен пакет hugo в версии после v0.123.0 и до v0.166.0
  • в проекте есть тема или модуль, проверенный при сборке
  • в теме или модуле есть символическая ссылка на внешний путь
  • конфигурация Hugo использует статические монтирования для публикации ресурсов

Возможный сценарий атаки​


Администратор собирает сайт Hugo из проекта с темой, где assets — это symlink на /some/dir/outside.

Во время сборки Hugo читает файлы из /some/dir/outside и публикует их в public/. Внешние файлы становятся доступны как часть сайта.

Если проект использует vendored modules, то symlinked directories между корнем монтирования и каталогом модуля тоже могут быть использованы для доступа к файлам вне ожидаемого дерева проекта.

Есть ли публичный эксплойт​


Доступные источники не содержат публичного эксплойта, PoC или подтверждённой эксплуатации.

Отсутствие сведений в источниках не означает отсутствие рабочего кода. В описании CVE указаны механика и обход проверки, что позволяет понять принцип действия без дополнительных материалов.

Признаки эксплуатации​


Специфичных IOC для этой уязвимости в источниках нет.

Можно использовать общие точки контроля:

  • наличие неожиданных файлов в public/ после сборки Hugo
  • символические ссылки в каталогах themes/ или vendored modules, указывающие на пути вне проекта
  • изменения в конфигурации Hugo с новыми статическими монтированиями

Как обнаружить атаку​


Для проверки состояния системы можно использовать следующие команды:

Bash:
cat /etc/debian_version

Bash:
cat /etc/os-release

Bash:
apt-cache policy hugo

Bash:
dpkg-query -W -f='${Package} ${Version}\n' hugo

Эти команды показывают версию Debian и установленную версию пакета hugo. Сравнивать нужно с версиями из Debian Security Tracker: если версия ниже v0.166.0, система может быть затронута.

Как проверить свою версию​


Для проверки версии Hugo в Debian:

Bash:
dpkg-query -W -f='${Package} ${Version}\n' hugo

Замените <имя-пакета> на hugo, если проверяете другой пакет.

Также можно проверить версию Debian:

Bash:
cat /etc/debian_version

Сравните результат с версиями из Debian Security Tracker: bookworm 0.111.3-1, forky 0.165.0-3, sid 0.167.0-1, trixie 0.131.0-1.

Исправление​


Для исправления нужно обновить пакет hugo до версии с исправлением.

В Debian:

  • bookworm: обновите до 0.111.3-1
  • sid: обновите до 0.167.0-1
  • forky: статус open, исправление ещё не выпущено
  • trixie: статус open, исправление ещё не выпущено

Команда обновления:

Bash:
apt update && apt upgrade hugo

Для forky и trixie нужно следить за Debian Security Tracker: CVE-2026-100692.

Временные меры защиты​


Пока нет исправления для forky и trixie, можно использовать временные меры:

  • проверить themes/ и vendored modules на наличие symlinked mount roots перед сборкой
  • заменить символические ссылки на явные монтирования в конфигурации Hugo
  • ограничить доступ к внешним путям через firewall или SELinux/AppArmor, если это применимо к вашей инфраструктуре

Как проверить устранение уязвимости​


После обновления проверьте версию пакета:

Bash:
dpkg-query -W -f='${Package} ${Version}\n' hugo

Убедитесь, что версия соответствует исправленной версии из Debian Security Tracker.

Также можно проверить статус в Debian Security Tracker: CVE-2026-100692.

Вывод​


CVE-2026-100692 затрагивает пакет hugo в Debian. В bookworm и sid исправление уже выпущено, а для forky и trixie статус остаётся открытым.

Главный риск — доступ к файлам вне проекта через символические ссылки в темах или модулях при сборке сайта. Для защиты нужно обновить пакет до исправленной версии или использовать временные меры по проверке symlinked mount roots.

Официальные источники​


  1. NVD — CVE-2026-100692
  2. Debian Security Tracker — CVE-2026-100692

История обновлений статьи​


  • 27.09.2026 — Опубликована первая версия материала.
  • 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 29.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ