DSA-6496-2: регрессия nginx-dev, 1.26.3-3+deb13u9

16 сентября 2026 года, в 07:16 UTC, Aron Xu отправил в debian-security-announce письмо с темой «[DSA 6496-2] nginx regression update». Текст advisory целиком лежит на странице LWN. Это не новый CVE и не смена ветки. Debian чинит сборку nginx-dev после security-апдейта DSA-6496-1.

В письме сказано прямо: апдейт nginx из DSA-6496-1 дал регрессию в пакете nginx-dev. Бэкпорт фикса CVE-2026-42533 объявил двумя приватными заголовками зависимости сборки модулей. Этих файлов в nginx-dev нет. Сторонние модули против nginx-dev перестали собираться. Баг Debian: 1147527. Для стабильной trixie фикс назван явно: 1.26.3-3+deb13u9.

В тот же день LWN собрал среду security-апдейтов. В таблице Debian: DSA-6496-2, stable, nginx, 16 сентября. Рядом AlmaLinux 10: ALSA-2026:67314, nginx, 15 сентября. Это разные пакеты и разные дистрибутивы. На Ubuntu этот DSA не приезжает.

Debian Bug 1147527: nginx-dev и два приватных заголовка

Формулировка Debian короткая. Security-сборка DSA-6496-1 закрыла CVE-2026-42533. В бэкпорте два приватных header-файла попали в зависимости сборки модулей. В пакете nginx-dev этих файлов нет. Итог: dkms, сторонний модуль, самописный ngx_http_* против headers из nginx-dev – configure и make ломаются.

Это регрессия пакета, не новая дыра. Advisory не добавляет CVE, не меняет CVSS и не пишет про эксплуатацию в дикой природе. Оценка «Important» здесь тоже не стоит: письмо Debian про сборку nginx-dev, не про свежий RCE.

На типичном VPS с WordPress за nginx и php-fpm живёт бинарник nginx, не -dev. TLS, статика, fastcgi_pass в пул PHP. Конфиг не трогают. Если вы не собираете сторонние модули из исходников, регрессия могла пройти мимо: сайт после u8 продолжал отвечать. Пакет всё равно один source package. Debian в конце письма рекомендует обновить nginx, не «только nginx-dev, если помните, что ставили».

Где это реально бьёт: модуль с GitHub под конкретный map, geo, Lua, свой filter, который собирают на сервере против nginx-dev. После u8 такая сборка перестала проходить. u9 должен вернуть headers в согласованное состояние. Выдумывать имена двух файлов advisory не даёт, и я их не подставлю.

Trixie 1.26.3-3+deb13u9

Фикс Debian назвал явно: стабильный релиз trixie, версия 1.26.3-3+deb13u9. Это пакет Debian, не nginx.org. Номер 1.26.3 тот же, что у u8. Меняется суффикс: +deb13u8 закрыл три CVE из DSA-6496-1, +deb13u9 чинит сборку nginx-dev. Mainline 1.31.x и stable 1.30.x с официального сайта apt сам не подтянет, если репозиторий штатный Debian.

Bookworm, Ubuntu и ветка nginx.org в тексте DSA-6496-2 не названы. Точной информации по Debian 12 в этом письме нет. Ubuntu собирает свой nginx, и ждать нужно USN, а не подмешивать debian-security в sources.list. Смешивать MySQL и MariaDB эта новость тоже не просит: база не задета.

Конфиг nginx править не нужно. Рестарт MariaDB «на всякий случай» не нужен. FPM этим DSA не трогают. Копию /etc/nginx перед правками я бы по-прежнему держал, даже если в этом апдейте правка не требуется: параллельный эксперимент с location легко спутать с самим пакетом.

Проверка на Debian 13 без театра. Сначала policy и кандидат из security, потом тест конфига и reload, не restart воркеров. Если собираете модули, после апдейта имеет смысл пересобрать их против новых headers, а не оставлять .so от u8.

apt-cache policy nginx nginx-dev
nginx -v
sudo apt update
sudo apt install --only-upgrade nginx
sudo nginx -t
sudo systemctl reload nginx

Ожидаемый кандидат на trixie: 1.26.3-3+deb13u9. Если policy показывает 1.26.3-3+deb13u8 и зеркало без trixie-security, пакет ещё не у вас. Если nginx -t ругается, reload не делайте: worker со старым бинарником лучше живого 502 из-за опечатки, которой в этом апдейте нет, но которая легко появляется, когда параллельно правили конфиг.

Спотыкаются обычно на трёх местах. Security-карман не в sources.list. Путаница пакета Debian с mainline-сборкой с nginx.org. Restart вместо reload, который рвёт keep-alive на ровном месте. Отдельно: кто собирает модули, забывает пересобрать их после u9 и удивляется, что старый .so не грузится.

ALSA-2026:67314 на AlmaLinux 10

Среда LWN – не один Debian. В таблице 16 сентября отдельно стоят nginx-строки AlmaLinux и Oracle. Это не «уже на всех продах» и не один rpm на три дистрибутива.

  • AlmaLinux 10, ALSA-2026:67314, nginx, 15 сентября.
  • AlmaLinux 8, ALSA-2026:67315, поток nginx:1.24, 15 сентября.
  • AlmaLinux 9, ALSA-2026:67308, поток nginx:1.24, 15 сентября.
  • Oracle Linux 10, ELSA-2026-67314-0, nginx, 15 сентября.
  • Oracle Linux 9, ELSA-2026-67283-0, поток nginx:1.26, 15 сентября.
  • Debian stable, DSA-6496-2, nginx, 16 сентября.

По письму AlmaLinux на LWN ALSA-2026:67314 – Security, важность Important, AlmaLinux 10, дата 15 сентября 2026. В тексте одна дыра: CVE-2026-42533, Arbitrary code execution via crafted HTTP requests. Карточка errata, на которую указывает само письмо: errata.almalinux.org/10/ALSA-2026-67314.html. Списка rpm и NVR в этом письме нет. Подставлять чужой суффикс в dnf я бы не стал.

Это другой слой, чем DSA-6496-2. AlmaLinux 10 закрывает сам CVE в бинарнике. Debian 13 уже закрыл его в u8 и сейчас чинит регрессию nginx-dev в u9. Путать эти две строки в одной команде apt/dnf нельзя. На Ubuntu и Debian VPS AlmaLinux-errata не применяется. На AlmaLinux 10 Debian-пакет из trixie-security тоже не ставится.

Оценок CVSS, PoC и факта массовой эксплуатации в письме AlmaLinux нет. Important – оценка вендора. Для прод-сайта за nginx достаточно своего пакетного менеджера и своего репозитория, не «обновите все серверы сегодня» и не зеркало соседнего дистрибутива.

Если сервер на Debian 13, смотрите 1.26.3-3+deb13u9 и reload после nginx -t. Если на AlmaLinux 10 – ALSA-2026:67314 через dnf, без подмешивания Debian. Ubuntu в этой сводке nginx не закрывает: своего USN в таблице LWN на 16 сентября нет.

Источники и ссылки


Комментарии загружаются…