Источники проверены по состоянию на 23 октября 2026 г. (UTC) Период покрытия: 25 июля — 23 октября 2026 г., основное внимание уделяется новым объявлениям и последующим исправлениям с сентября по октябрь. Аудитория: инженеры и специалисты по обеспечению безопасности, которые поддерживают службы Node.js, Java, Python, контейнеры, создают конвейеры и среды разработки.

В этой статье обобщаются недавние важные угрозы безопасности в средах выполнения Node.js, Java и Python, стандартных библиотеках, общих серверных платформах и зависимостях, а также приводятся область воздействия, фиксированные версии, временные меры по снижению риска, выбор исправлений и методы проверки.

Оцените влияние на версии компонентов, включенные функции и доступные точки входа. Факты об уязвимостях взяты из официальных сообщений; даты относятся к публичному раскрытию, если явно не указано более ранний выпуск исправления. Мы не делаем выводов о неподтвержденных условиях эксплуатации, баллах CVSS или эксплуатации в дикой природе. Рекомендации по развертыванию определяются как рекомендации по внедрению.

TL;DR: приоритеты исправления

  1. Обновите сначала среду выполнения, в которой фактически размещена служба. Обновите соответствующую ветку Node.js как минимум до 22.23.4 / 24.22.1 / 26.12.1. Службы, использующие Node 24, могут обновиться до 24.22.1 в рамках той же основной версии или более поздней версии, содержащей те же исправления. S1S2
  2. Обновите зависимости приложения Node отдельно. Для Next.js используйте 15.5.28 / 16.4.1 в качестве базовой линии обновления; при независимом использовании React Server Components проверьте фактически установленный пакет react-server-dom-*. Только обновление двоичного файла Node не устраняет эти уязвимости платформы. S8S9S10S11S12
  3. Java: охватить оба раунда обновлений. Установите сборку поставщика, включающую как CPU от 20 октября, так и CVE-2026-91403 от 21 октября. См. раздел 2.2 для внеполосных версий Oracle JDK 11-27; сверяйте другие дистрибутивы с их собственными пакетами безопасности и полными номерами сборок. Обновите соответствующую ветку Tomcat до 9.0.123/10.1.61/11.0.27. S16S17S18S20S21S22S23
  4. Python: обновляйте интерпретатор, пакеты приложений и пакеты сертификатов отдельно. См. базовые версии интерпретатора в разделе 2.3; certifi рекомендует ≥2026.10.19, pip ≥26.2.2 при использовании uv ≥0.13.4. Каждый существующий венв необходимо проверить. Для кодов, связанных с wrap_bio(), необходимо также передать правильный и непустой server_hostname. S29S30S31S33S35S36S37
  5. Если немедленное обновление невозможно, уменьшите риски в соответствующих точках входа. Установите приоритет остановки ненадежного декодирования Brotli, затронутой обработки изображений/пейджинга/архивирования, а также изоляции проблемных LDAP или записей аутентификации; проверка сертификатов TLS и имен хостов. Входящий WAF не может охватывать исходящие пути, например приложения, получающие вредоносные сжатые ответы. S3S11S25S27S30S32
  6. Перестройте, замените старые процессы и проверьте реальные пути обслуживания. Сохраните файл блокировки и дайджест образа, пересоберите приложение и образ, разверните замены для всех рабочих/JVM/контейнеров; проверьте фактический процесс, дерево зависимостей, хранилище доверенных сертификатов и регрессионные тесты бизнеса. Новая версия командной строки сама по себе не означает, что исправление завершено.
  7. Если LiteLLM 1.107.0 был установлен или запущен, следуйте процедурам реагирования на инциденты. Проект подтвердил компрометацию выпуска 21 октября. Изолируйте уязвимые среды, исследуйте их в чистой среде, перестройте и поменяйте открытые учетные данные. Не запускайте Python/pip в подозрительной среде для предварительной проверки. Подробности см. в разделе 9. S41

1. Обзор уязвимостей и оценка рисков

1.1 Приоритезация исправлений в зависимости от фактического воздействия

Приведенные ниже приоритеты развертывания представляют собой рекомендации по реализации. Метки серьезности следуют за каждым поставщиком, включая рейтинг Apache Important. CVSS 3.1 и 4.0 — разные системы подсчета очков; не ранжируйте проблемы в них только по баллам.

Экосистема/слойКлючевые вопросыОфициальная оценка или подтвержденная оценкаПриоритетное развертывание
Собственная зависимость Node.jsCVE-2026-111497: Brotli записан за пределами границ, и существует риск RCE.Node:HighДекодирование данных Brotli S1S3 в теле внешнего запроса или внешнем ответе.
Node.js TLS / DNSCVE-2026-105482, 105483, 106069: анализ и проверка личности несовместимы.HighURL сканирование, прокси, Webhook, динамический целевой адрес S1S5S6
Node.js HTTP/2CVE-2026-56846, 56848: Память исчерпана и UAFHighNode напрямую обрабатывает недоверенный трафик HTTP/2 S7
React / Next.jsRSC / use cache typed arrays RCECritical;CVSS 4.0 9.5Сервер RSC, соответствующие компоненты кэша и путь к данным S9S10
Next.js Оптимизация изображенияCVE-2026-96889: SVG Обработка изображений RCECritical;CVSS 4.0 9.5Экземпляры на glibc Linux, которые могут обрабатывать ненадежные изображения S11
Next.js Server ActionsСпециально созданный запрос приводит к исчерпанию CPU.High;CVSS 4.0 8.2App Router и хотя бы один Server Action S12
Java TLS ТрастCVE-2026-91403: Продолжайте доверять затронутому промежуточному звену CA.CVSS 3.1 9.1TLS/API Сценарий S17 с использованием затронутой цепочки доверия
TomcatОбход аутентификации JNDIRealm, путаница между перекрестными запросами HTTP/2, утечка ответа AJPImportantСоответствует пути Realm / Connector / async Servlet S21S22S23
Spring for GraphQLCVE-2026-59285: десериализация подкачки RCEHighJackson 2 + Connection Пейджинг + Эксплуатируемый путь к классам S25
Spring SecurityCVE-2026-59270: раскрыт известный встроенный идентификатор управления LDAP.CriticalВстроенный LDAP включен, и порт прослушивания доступен злоумышленнику S27.
CPython sslCVE-2026-19445: SNI контекста переключения приводит к UAFCriticalPython сам по себе завершает TLS и соответствует условию жизненного цикла контекста S29.
CPython sslCVE-2026-19553: пропустить проверку, если имя хоста отсутствует.Highwrap_bio() / В связанном асинхронном вызове отсутствует ожидаемое имя хоста S30
CPython tarfileCVE-2026-82049: обход комбинации жесткой ссылки и символической ссылки.HighАвтоматически извлекать ненадежный tar-архив S32
Django / GeoDjangoCVE-2026-15307: файл записи пространственного запроса, SSRF, при условии RCE.HighПространственные запросы или связанные интерфейсы администрирования, принимающие ненадежные входные данные S38
Зависимость сертификата Pythoncertifi: недоверие к сертификату, связанное с emSign.Critical; GHSA, неизвестно CVETLS клиент и инструмент управления пакетами S36S37 все еще используют уязвимый CA bundle

Сокращения: RCE означает удаленное выполнение кода, UAF означает использование после освобождения и SSRF означает подделку запроса на стороне сервера. Прямые разрешения RCE обычно являются разрешениями процесса, в котором размещено приложение, и не могут автоматически быть эквивалентны корневым разрешениям.

Рекомендуемая последовательность: сначала обрабатывает RCE, который доступен извне и соответствует условиям обхода аутентификации, утечки данных между пользователями и проблем с аутентификацией сертификатов; в то же время запланируйте обновления для общедоступной точки входа DoS. Нет необходимости запускать атакующие полезные нагрузки в производство, чтобы доказать возможность использования. Зависимости существуют, пути кода доступны и условия атаки соблюдены. Это три проблемы, которые необходимо проверять отдельно.

1.2 Три границы, которые легко спутать

  • Обновите среды выполнения и зависимости отдельно. Обновления безопасности для Node, JDK, CPython не восстанавливают автоматически автономные установки Next.js, Spring, Django, certifi или собственные расширения.
  • Порог исправления не зависит от текущего базового показателя развертывания. Первое исправление уязвимости в августе не гарантированно покрывает новые проблемы, возникшие с сентября по октябрь; В разделе 2 в качестве цели реализации используются проверенные последующие обновления.
  • Отличьте уязвимость от фактического взлома цепочки поставок. Для распространенных уязвимостей исправления устраняют будущие пути атаки; при запуске вредоносных пакетов необходимо изучить влияние учетных данных и устойчивости. LiteLLM Раздела 9 является официально подтвержденным событием. S41

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

2. Быстрая проверка фиксированной версии и базовой линии развертывания.

Источник: 2.1 Node.js、React、Next.js

компонент/ветвьРекомендуемая базовая версияИнструкция по применению
Node.js 22.x22.23.4Релиз безопасности S1S2 от 21 октября.
Node.js 24.x24.22.1Применяется к ветке 24.x; 24.22.0 не содержит исправления безопасности от 21 октября S1S2.
Node.js 26.x26.12.1Релиз безопасности в том же пакете S1S2
Node.js 20 и более ранние вышестоящие ветвиМиграция в поддерживаемую веткуNode 20 не принимает это исправление исходной версии; расширенную поддержку поставщика необходимо проверять отдельно S3
Next.js 15.x15.5.28Обновлено 14 октября S8
Next.js 16.x16.4.1То же, что и выше S8
Автономный филиал RSC 19.0 / 19.1 / 19.2 / 19.319.0.9 / 19.1.10 / 19.2.9 / 19.3.1Проверьте три пакета react-server-dom-* отдельно; не просто смотреть на верхний слой react S10
Next фактически загружен sharp≥0.35.5Официальные условия временного исправления уязвимости SVG; не заменяет другие патчи Next.js S11

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

2.2 Java: октябрь CPU плюс внеполосное обновление сертификата.

Эта таблица относится к Oracle JDK. Второй столбец охватывает только CPU от 20 октября; третий включает внештатный релиз от 21 октября. Версии CPU сами по себе не покрывают все риски Java, обсуждаемые здесь. S16S17S18

филиал20 октября CPUOracle выпущен вне группы 21 октября.
1111.0.3311.0.33.0.2
1717.0.2117.0.21.0.2
2121.0.1321.0.13.0.2
2525.0.525.0.5.0.2
2727.0.127.0.1.0.2
88u511В таблице общедоступных выпусков по-прежнему отображается 8u511; конкретная сборка безопасности и восстановление цепочки доверия должны быть проверены и не могут быть определены только на основе короткого номера версии.

**Java 8 необходимо сверить с полной информацией о сборке:**Oracle В предупреждении указана 8u511 как затронутая версия, а в списке выпусков перечислены последующие обновления с тем же коротким именем. Статус исправления невозможно определить только по короткому номеру версии «8u511». Вам следует подтвердить конкретную сборку безопасности и исправления цепочки доверия. S17S18

Temurin, Corretto, Zulu, Microsoft Build of OpenJDK, версия выпуска OpenJDK и т. д., проверьте их соответствующие объявления и полные номера пакетов/сборок. Например, официальная запись выпуска Adoptium сообщает, что соответствующая сборка перепакована с добавлением исправления eMudhra; то же имя исходной версии не означает, что содержимое пакета такое же. Правила суффикса .0.2 для Oracle нельзя механически применять к другим издателям. S20

Компоненты приложения JavaРекомендуемая базовая версияПримечания
Tomcat 9 / 10.1 / 119.0.123 / 10.1.61 / 11.0.27Проверяйте ветку за веткой; Tomcat 10.0 прекращено обслуживание S21S22S23
Spring for GraphQL 2.0.x2.0.5(OSS)Коммерческая поддержка также 2.0.4.1 S25.
Spring Security 7.1 / 7.07.1.1 / 7.0.7(OSS)Соответствует минимальной версии исправления, объявленной в августе; перед развертыванием вам необходимо ознакомиться с последующим бюллетенем по безопасности S27S28.
Spring Security 6.5 / 6.4 / 5.8 / 5.76.5.12 / 6.4.19 / 5.8.28 / 5.7.26Объявление указано как исправление коммерческой поддержки; миграция оценивается, когда нет соответствующей поддержки и нельзя предполагать, что Maven Central доступен бесплатно S27

Обновления Spring должны соответствовать минимальной версии проекта Spring Boot BOM, Java и линиям совместимости. Не присваивайте всем модулям Spring один и тот же номер напрямую только для того, чтобы получить патч.

2.3 CPython, Django и зависимости сертификатов

Второй столбец таблицы ниже посвящен проблеме TLS, раскрытой в сентябре; различия ветвей для tarfile показаны в разделе 5.3.. В выпусках от 21 октября также обновлены встроенные инструменты для создания сертификатов, поэтому последний столбец включает базовые показатели более позднего развертывания. S29S30S33S35

CPython филиалМинимальная версия сентябрьского пакета безопасностиРекомендуемый базовый уровень развертывания
3.103.10.22Последний выпуск исходной версии — EOL; организовать миграцию или проверить поддержку расширения выпуска S34
3.113.11.173.11.17 и обновите pip/certifi в каждой среде индивидуально.
3.123.12.153.12.15 и обновите pip/certifi в каждой среде индивидуально.
3.133.13.163.13.17
3.143.14.83.14.9
3.15Финальная версия 3.15.0 включает оба исправления TLS: S31S47.3.15.1

Восходящие версии безопасности 3.11 и 3.12 могут выпускаться только в исходном коде; при использовании пакета операционной системы проверьте рекомендации поставщика по резервному порту и полную версию пакета, и нет необходимости принудительно заменять систему Python на самоскомпилированную версию. S33S34

независимая зависимостьРекомендуемая базовая версияОписание
Django 5.2 / 6.0 / 6.15.2.18 / 6.0.9 / 6.1.2Включить последующую коррекцию S38S39 6 октября.
certifi≥2026.10.19Начальный патч GHSA — .18; PSF рекомендует .19 для сохранения совместимости с незатронутыми сертификатами. S36S37
pip≥26.2.2Встроенную копию certifi необходимо обновить отдельно S35S37
uv (если используется)≥0.13.4Обновите S37 в соответствии с фактическим методом установки.

Эти базовые показатели охватывают перечисленные исправления. Еще одна проблема средней серьезности в tar_filter была обнаружена 22 октября. По состоянию на 23 октября 2026 г. официальная версия обслуживания, содержащая это исправление, еще не подтверждена; поэтому нельзя считать, что 3.13.17 / 3.14.9 / 3.15.1 охватывают все проблемы с tar-файлами. См. раздел 5.4. S40.

2.4 Проверка резервных копий распространения

Принципы реализации, применимые к Ubuntu, Debian, RHEL и другим пакетам программного обеспечения:

  1. Запишите версию операционной системы, источник репозитория, полную версию пакета и номер бюллетеня безопасности поставщика.
  2. Убедитесь, что рекомендации охватывают конкретный CVE и идентифицируют фиксированный пакет для соответствующего выпуска дистрибутива.
  3. Сравните двоичные файлы/библиотеки, загруженные реальным запущенным процессом, а не только короткую версию исходного кода.
  4. Если нет никаких свидетельств наличия исправления поставщика, оставьте это «на подтверждение» и не принимайте это как единственный вывод о том, что номер версии выглядит старым или новым.

Существуют различия в версиях пакета apt/RPM и стратегиях обратного переноса в разных дистрибутивах. Бюллетень безопасности и полная версия пакета каждого дистрибутива должны иметь преимущественную силу.

3. Экосистема Node.js / JavaScript: анализ причин и исправление.

3.1 CVE-2026-111497: Запись за пределы встроенного декодера Brotli

Раскрытие информации: 21 октября 2026 г.; Официальная оценка Node: High. Затронутые сборки Node 22.x, 24.x, 26.x требуют установки раздела исправлений 2.1. Node В объявлении не указан числовой балл CVSS. S1

Проблема возникает в собственной логике декодирования при обработке искаженного сжатого потока Brotli, что может привести к записи за пределами допустимого диапазона. Официальное описание Vercel подтверждает, что исследовательская демонстрация включает в себя утечки памяти процесса и выполнение команд. Сможет ли злоумышленник добраться до декодера, зависит от того, действительно ли приложение или зависимость декодируют данные, которыми оно управляет. S3

Оба направления необходимо проверять одновременно:

  • inbound: платформа или промежуточное программное обеспечение автоматически распаковывает тело запроса Brotli, отправленное пользователем.
  • **outbound:**HTTP Клиенты, программы захвата изображений и т. д. получают доступ к источникам, контролируемым злоумышленниками, и автоматически распаковывают возвращаемый контент.

Отключение сжатия Brotli ответов, отправляемых в браузеры, не удаляет точку входа декодирования. Защита входящего трафика WAF также не распространяется на приложения, получающие и декодирующие внешние ответы. S3

**Направление обновления:**Node Переместите исправление Brotli в собственную зависимость и дополните недопустимую проверку статуса декодирования и распространение ошибок. При поддержке самоскомпилированной версии вам следует использовать официальную версию безопасности или полный патч соответствующей ветки. Вы не можете просто изменить заявление о версии пакета JavaScript. S4

Промежуточные предложения по реализации: остановить ненужное ненадежное декодирование Brotli; проверьте поведение автоматической распаковки промежуточного программного обеспечения и клиента HTTP; если компания должна принять этот формат, как можно скорее завершите обработку в исправленной среде. Корректировка Accept-Encoding — это всего лишь акт переговоров и не должен служить самостоятельным доказательством того, что вредоносный ответ был заблокирован.

3.2 TLS / DNS три High: объект проверки не соответствует фактической цели

Все три были раскрыты 21 октября, при этом официальный порог обновления указан в разделе 2.1. S1.

ИдентификаторПроблема подтвержденаЗатронутые филиалы
CVE-2026-105482dns.resolve Усечение имен, содержащих NUL.22.x / 24.x / 26.x
CVE-2026-105483IP в полной числовой форме приводит к обходу проверки имени хоста сертификата.24.x / 26.x
CVE-2026-106069Имя хоста, которое можно условно интерпретировать как IP, приводит к обходу проверки TLS.22.x / 24.x / 26.x

DNS Суть проблемы в том, что строка, проверяемая верхним уровнем, отличается от имени, реально разбираемого нижним уровнем. Официальный патч отклоняет NUL при синтаксическом анализе и добавляет покрытие регрессии. S6

TLS Два пункта включают нормализацию имени, согласованность интерпретации IP и сопоставление сертификатов. Исправьте так, чтобы нестандартный ввод IP отклонялся или обрабатывался правильно, чтобы не путать фактическую конечную точку IP с идентификатором домена сертификата. S5

Фактические предложения по устранению неполадок для : отдает приоритет проверке кода принимающего пользователя URL, динамического прокси-сервера или адреса Webhook; унифицированная стандартизация и разрешение списка разрешений, отклоняет NUL/управляющие символы, подтверждает, что законные IPv4, IPv6 и интернационализированные доменные имена все еще работают. Возможность дальнейшего формирования SSRF требует применения доказательств связи, которые нельзя напрямую вывести из имени CVE.

Не используйте NODE_TLS_REJECT_UNAUTHORIZED=0 или rejectUnauthorized: false для устранения ошибок контрольной суммы после обновления. Адрес, сертификат и бизнес-конфигурацию следует исправить.

3.3 Июль HTTP/2 High — проблемы с моделью рисков и разрешений

Следующие вопросы, раскрытые в июле, все еще требуют включения в расследование. При развертывании рекомендуется напрямую использовать базовую версию безопасности за октябрь в разделе 2.1. S7

CVEПричины и последствияПервая исправленная версия
CVE-2026-56846Сохраненный блок HTTP/2 header не включен должным образом в бюджет maxSessionMemory и может исчерпать память; Удар 22.x / 24.x22.23.2 / 24.18.1
CVE-2026-56848HTTP/2 повторно входит в путь отправки во время сбора пакетов, вызывая образование кучи UAF; воздействие 22.x / 24.x / 26.x22.23.2 / 24.18.1 / 26.5.1
CVE-2026-58043--permission Соответствие границ префикса пути слишком велико, и возможен доступ к файлам за пределами разрешенного списка.То же, что и три линии обслуживания выше.

Все три официально имеют High. Первые два пункта отдают приоритет проверке того, обрабатывается ли HTTP/2 самим Node; третий элемент имеет соответствующее значение только при использовании модели разрешений и использовании этой границы. Не все элементы модели разрешений могут быть описаны как сеть RCE, не требующая аутентификации. S7

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

3.4 Октябрь React / Next.js: два элемента RCE и один элемент DoS

A. RCE в функциях RSC / use cache, возвращающих типизированные массивы

Дата публикации: 14 октября 2026 г.; Critical, CVSS 4.0 9.5. Официальные рекомендательные идентификаторы:

  • React:GHSA-xqc2-xf4c-x3h3。
  • Next.js:GHSA-673q-mjm6-r5xr。S9S10

Проблема восходящего потока React включает в себя несколько типизированных массивов в сочетании со значениями, контролируемыми злоумышленником, в ответе RSC. Тремя затронутыми версиями пакета react-server-dom-* являются 19.0.0—19.0.8, 19.1.0—19.1.9, 19.2.0—19.2.8, 19.3.0; см. главу Раздел 2.1. Чисто браузерный React или приложения, которые вообще не используют платформы/плагины, поддерживающие RSC, не подпадают под действие этого пункта. S10

Next.js списки нисходящих объявлений 16.0.0—16.4.0, исправлено в 16.4.1; сценарий — это функции App Router, Cache Components и use cache, которые возвращают несколько типизированных массивов. Официального надежного общего решения не существует, и пользователи затронутых версий должны своевременно обновляться. Нецелесообразно просто полагаться на ручной поиск по запросу «эта функция, похоже, не существует» для завершения обработки. S9

Источник: B. SVG Image Optimization RCE

CVE-2026-96889/GHSA-2464-fhr4-w9xw, 14 октября 2026 г., Critical, CVSS 4.0 9.5. Проблема возникает в исходной собственной библиотеке, используемой для оптимизации изображений. Официальные лица отметили, что риск RCE существует в сценарии glibc Linux. S11

Поля официальной версии:

  • >=10.0.0 <=15.5.27;
  • >16.0.0 <=16.4.0。

Чиновник использует строгую нижнюю границу >16.0.0 для ветки 16.x, но этого заявления о диапазоне недостаточно, чтобы доказать, что 16.0.0 безопасен. Фактическая цель обновления — 15.5.28 / 16.4.1. S11

Официальное временное решение — гарантировать, что Next действительно загружает четкую ≥0.35.5. Файлы блокировки, вложенные зависимости и образы развертывания могут по-прежнему содержать старые экземпляры, поэтому простого добавления новой версии зависимости sharp на верхнем уровне недостаточно, необходимо проверить и перестроить окончательное дерево зависимостей. S11

C. Server Actions CPU исчерпан

**GHSA-p3m5-59mp-jv5r, 14 октября 2026 г., High, CVSS 4.0 8.2.**Next влияет на 13.0.0—15.5.27, 16.0.0 — 16.4.0, исправляет 15.5.28 /16.4.1. Условия: App Router и хотя бы один Server Action; вредоносные запросы могут удерживать CPU занятым в течение длительного времени, блокируя последующие запросы в том же процессе. На приложения с Pages Router или без Server Actions это не влияет. S12

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

3.5 Ранее Next.js в том же окне Серьезная проблема

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

ДатаИдентификатор/сценарийПервое исправление; текущее действие
2026-08-25GHSA-2xp9-vwfh-vxw4: AVIF собственная библиотека оптимизации изображений RCE, Critical15.5.24 / 16.3.3; сейчас 15.5.28 / 16.4.1 S13
2026-08-25CVE-2026-75604: RCE, Critical, когда Pages Router и App Router используются одновременно в Windows, а Cache Components не включен; версии >=13.4.0 <15.5.24, >=16.0.0 <16.3.315.5.24 / 16.3.3; Эта конкретная проблема Windows не затрагивает Linux/macOS S14.
2026-09-22GHSA-vcvr-r3jv-pc5j: путь создания образа Node в next/og обрабатывает недоверенные SVG, Critical; 16.2.0—16.3.516.3.6; реализация Edge выходит за рамки этой проблемы, и 15.x не является затронутой веткой для этого RCE S15

4. Экосистема Java: доверие во время выполнения, контейнеры и платформы обрабатываются отдельно.

4.1 JDK: Обычные CPU и CVE-2026-91403 являются двухуровневыми обновлениями.

В матрице рисков Java SE для Oracle CPU от 20 октября перечислено 55 новых исправлений безопасности, 49 из которых помечены как пригодные для использования по сети без аутентификации. Это не означает, что существует 55 Critical, а также не означает, что существует 49 напрямую эксплуатируемых путей RCE для каждого веб-сервиса Java; его следует понимать в сочетании с компонентами, API, взаимодействием с пользователем и условиями развертывания в матрице. S16

CVE-2026-91403 (CVSS 3.1 9.1) следующего дня связан с другим типом риска: набором промежуточных CA, связанных с событием eMudhra, которому больше не доверяют. Она влияет на аутентификацию одноранговых узлов TLS и конфиденциальность/целостность связи и не может быть описана как уязвимость повреждения памяти JVM. S17

В информационном бюллетене Oracle указана версия, выпущенная 20 октября, как затронутая, поэтому необходимо также установить дополнительное обновление от 21 октября. См. раздел 2.2 для конкретной версии. У GraalVM также есть соответствующие уязвимые продукты, и на исправленную версию должен распространяться эксклюзивный бюллетень безопасности. S17S18

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

  • emSign ECC Root CA - G3, Oracle псевдоним emsigneccrootcag3 [jdk].
  • AAA Certificate Services, Oracle псевдоним comodoaaaca [jdk]. S19

JDK 11 и более поздних версий, официальный пример:

keytool -delete -cacerts -alias "emsigneccrootcag3 [jdk]"
keytool -delete -cacerts -alias "comodoaaaca [jdk]"

Используйте keytool из целевого JDK для этих команд и убедитесь, что они работают в реальном хранилище доверенных сертификатов приложения. Java 8 использует путь, соответствующий jre/lib/security/cacerts; настройка хранилища доверенных сертификатов должна выполняться отдельно, и другие издатели могут иметь разные псевдонимы. Удаление корневого сертификата расширит область отклонения и позволит провести регрессионное тестирование цепочек законных сертификатов служб. S19

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

4.2 Tomcat: обход аутентификации и изоляция межпользовательских запросов.

Следующие три элемента были опубликованы на 2026-10-20; запись об исправленной версии датирована 12 октября. Официальная оценка Apache — Important. S21S22S23

CVEПодтвержденные затронутые версииНеобходимые сценарии/результаты
CVE-2026-1012969.0.0.M1—9.0.122;10.1.0-M1—10.1.60;11.0.0-M1—11.0.26JNDIRealm Настраивает механизм аутентификации SASL, отличный от GSSAPI, проверка учетных данных отсутствует, также могут пройти неверные пароли.
CVE-2026-1013569.0.118—9.0.122;10.1.55—10.1.60;11.0.22—11.0.26Асинхронная обработка ошибок сервлета HTTP/2 неправильно перерабатывает/повторно использует объекты, вызывая смешивание запросов или ответов между пользователями.
CVE-2026-103119Подтвердите только 11.0.0-M25—11.0.26.Большие неблокирующие записи AJP могут привести к недостаточному чтению буфера, что приведет к раскрытию данных предыдущего ответа в последующих запросах.

Соответствующее исправление — 9.0.123/10.1.61/11.0.27; Согласно объявлению, AJP указан только как Tomcat 11 и не может быть расширен до трех ветвей с одной и той же проблемой. S21S22S23

Патч JNDIRealm исправляет пробел в проверке фактического процесса аутентификации, когда вместо проверки нельзя использовать фразу «интерфейс входа в приложение выглядит нормально». Realm, механизмы SASL должны быть проверены на предмет фактической конфигурации службы, а тесты должны завершиться неудачно из-за неверных паролей. S24

Промежуточные предложения по реализации: изолируйте затронутый путь аутентификации; приостановить обработку HTTP/2 Tomcat, когда это разрешено бизнесом; закрыть бесполезный AJP. Только ограничение прямого доступа к порту AJP не может гарантировать, что трафик, входящий через легальный передний прокси, не будет затронут. После официального обновления необходимо протестировать асинхронные одновременные запросы от двух независимых пользователей, чтобы убедиться в отсутствии перекрестных помех между идентификаторами и ответами.

Источник: 4.3 Spring for GraphQL:CVE-2026-59285

Дата публикации: 20 августа 2026 г.; High. затронут 2.0.0—2.0.4, исправлен 2.0.5 (OSS) или 2.0.4.1 (коммерческая поддержка). S25

Это небезопасный риск десериализации в страничных запросах. Официальным требованием является одновременное выполнение следующих условий:

  1. Используйте Spring for GraphQL.
  2. Десериализовать JSON с помощью Jackson 2.x.
  3. Предоставьте поле подкачки подключения внешнему миру.
  4. Путь к классам содержит определенные классы, которые могут выполнять неожиданную логику во время создания экземпляра или десериализации.

Вредоносный запрос GraphQL может вызвать RCE при выполнении условий. Его нельзя свести к тому, что «все программы Java, использующие Jackson, могут быть взломаны». S25

Почему 2.0.4 недостаточно: В июне CVE-2026-41699 предоставил базовые версии патчей, такие как 2.0.4, а в августе объявление явно включило 2.0.4 в новую сферу влияния. Поэтому запись о ремонте должна обновляться в соответствии с последующими объявлениями, и минимальную версию старой CVE использовать нельзя. S26

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

4.4 Spring Security: CVE-2026-59270 и связанные с ним риски аутентификации.

CVE-2026-59270, 20 августа 2026 г., Critical. Встроенный UnboundIdContainer по умолчанию регистрирует известные учетные данные администратора и прослушивает все сетевые интерфейсы. Когда компонент включен и порт доступен, злоумышленник может прочитать или изменить данные каталога; проекты, в которых обычно используется Spring Security, не будут автоматически предоставлять LDAP. S27

Пораженная территория:

филиалзатронутыйПервый канал исправления/приобретения
7.17.1.07.1.1 OSS; также коммерческий 7.1.0.1
7.07.0.0—7.0.67.0.7 OSS; также коммерческий 7.0.6.1
6.5 / 6.46.5.0—6.5.11;6.4.0—6.4.186.5.12/6.4.19, коммерческий
5.8 / 5.75.8.0—5.8.27;5.7.0—5.7.255.8.28/5.7.26, коммерческий

Источник: S27. Устраните неполадки автоматической настройки spring.ldap.embedded.* и кода прямого создания экземпляра; закройте компонент, когда он не нужен для производства, и проверьте фактический адрес прослушивания. Когда бизнесу это действительно необходимо, сначала ограничьте источники вызовов, а затем завершите обновление компонентов.

**Связанная проблема с аутентификацией: CVE-2026-47841 (High).**WebAuthn Для аутентификации пользователя установлено значение REQUIRED, и после сериализации сеанса HTTP распределенным хранилищем неправильное сравнение идентификаторов объектов может сделать требование аутентификации недействительным. Атака также требует, чтобы злоумышленник владел устройством аутентификации пользователя, а не произвольным удаленным входом в систему без устройства. Для соответствующих уязвимых версий 7.1, 7.0, 6.5 и 6.4 базовая версия исправления соответствует этим ветвям в приведенной выше таблице; проверка должна охватывать сеансы между узлами и по-прежнему требовать PIN-кода/биометрической проверки. S28

5. Экосистема Python: интерпретатор, стандартная библиотека, фреймворк и сертификаты.

5.1 CVE-2026-19445: SSLContext UAF в обратном вызове SNI

Дата публикации: 30 сентября 2026 г.; PSF Уровень: Critical. На сервере Python TLS sni_callback переключает соединение на другой SSLContext, и когда исходный контекст не имеет других сохранившихся ссылок, неаутентифицированный Клиент TLS может привести к сбою службы или вызвать указатель в выпущенном объекте. S29

Суть в том, что объект Python несовместим с базовым жизненным циклом обратного вызова TLS. Исходный контекст был освобожден, и базовый уровень все еще может содержать состояние, необходимое для обратного вызова; для исправления жизненного цикла ссылки необходимо использовать собственный патч интерпретатора. S47

Scope: Код Python, который действует только как клиент TLS, не затрагивается этим элементом; нормальный режим прослушивающего сокета, удерживающего исходный контекст в течение длительного времени, не попадает в конкретный путь отказа, описанный в объявлении. После того, как Nginx завершает работу TLS, он передает только локальный HTTP Python, а Python напрямую обрабатывает SNI, что представляет собой другую поверхность атаки. S29

Соответствует фиксированной версии 3.10—3.14, см. раздел 2.3.. Официальная версия 3.15 исправлена, и теперь можно выбрать 3.15.1. Только обновление зависимости pip не может заменить реализацию интерпретатора _ssl. S33S35S47

Официальное временное решение: сохраняет строгие ссылки на все SSLContext, которые установили обратный вызов SNI, до конца жизненного цикла сервера. Это должно охватывать фактические пути динамического создания и переключения; пользовательская сборка OpenSSL 1.1.1 также должна проверять условия повторного согласования в сочетании с официальной записью о проблеме и отдавать приоритет полным обновлениям. S29S47

5.2 CVE-2026-19553: флаг имени хоста включен, но имя хоста отсутствует при вызове

Дата публикации: 30 сентября 2026 г.; High. КогдаSSLContext.check_hostname=True, если wrap_bio() не передан в server_hostname, исходная реализация может молча пропустить проверку имени хоста. Успешная проверка цепочки сертификатов не означает, что целевое доменное имя также соответствует. S30

Исправление требует обоих шагов:

  • Установите версию безопасности переводчика, указанную в разделе 2.3..
  • Проверьте wrap_bio(), связанные пути asyncio.create_connection()/loop.start_tls(), явно передайте ожидаемое и непустое имя хоста и включите проверку сертификата. S30

**Различия совместимости, которые нельзя опустить:**3.10, 3.11, 3.12 предназначены для совместимости, только DeprecationWarning выдается в некоторых случаях, когда имя хоста отсутствует; 3.13 и более поздние версии повышают ValueError. Backport 3.12 также четко отличает None от пустых строк: для None добавляется новое предупреждение, а для пустых строк по-прежнему сообщается об ошибке. Таким образом, пользователи нижних ветвей не могут предполагать, что первоначально отсутствующая проверка доменного имени была автоматически восстановлена ​​просто путем обновления. S31S33

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

5.3 CVE-2026-82049: Обход комбинации ссылок в фильтре tarfile

Дата публикации: 14 сентября 2026 г.; High. В CPython 3.13 и более ранних связанных реализациях комбинация жестких ссылок и символических ссылок в ненадежном tar может обойти фильтр извлечения data / tar, раскрывая содержимое файлов за пределами каталога распаковки в дереве распаковки, или изменение их разрешений и времени изменения. S32

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

Соответствующие базовые версии исправлений 3.10—3.13 см. в разделе 2.3.. Python 3.14 был освобожден от этой конкретной проблемы из-за изменений в поведении os.link() с тех пор. 3.14.0b1, поэтому затронутая область ветки 3.10—3.13 выше не применяется. S33

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

filter="data" больше подходит для общих недоверенных архивов, чем для стратегии полного доверия, но сам фильтр на старой версии также имеет эту уязвимость, и само по себе добавление этого параметра не может заменить обновление. Фильтр также не является полноценной «песочницей» файловой системы. S32S45

5.4 Дополнительный риск: CVE-2026-114583 (Medium) и статус выпуска исправлений.

PSF раскрыт в 2026-10-22, что обработку tarfile.tar_filter конкретных имен ссылок можно обойти, позволяя последующим членам писать за пределами каталога распаковки, с уровнем Medium. Официальное исправление PR было добавлено в тот же день; по состоянию на 23 октября 2026 г. ни один официальный выпуск обслуживания, содержащий этот коммит, подтвержден не был. S40

Поэтому:

  • Этот товар указан отдельно как Medium.
  • Версии интерпретатора, выпущенные 21 октября, не могут считаться содержащими это исправление.
  • Процесс, который по-прежнему использует filter="tar" для обработки ненадежных архивов, должен отслеживать резервный порт выпуска; изолировать или приостановить этот путь обработки на короткий период времени. При переходе на data и отклонении ссылок необходимо также подтвердить, что он соответствует бизнес-требованиям, а смену фильтра нельзя назвать безусловной песочницей.

5.5 GeoDjango: CVE-2026-15307 и последующие исправления в октябре.

2026-08-04, Django официальный High. пространственный запрос неявно передает определенные строки/словари в GDALRaster, и драйвер может записывать файлы или инициировать сетевые запросы; RCE может формироваться при наличии определенных путей и условий последующего выполнения. Сотрудники с разрешениями на просмотр модели пространственного поля также могут получить доступ к этому пути через список изменений администратора. S38

Первоначальное исправление — 5.2.17 / 6.0.8, которое ограничивает типы входных данных, принимаемые пространственным поиском. Это изменение может повлиять на первоначальный подход к использованию строк/словарей для выражения растра; простая упаковка ненадежных входных данных в GDALRaster не означает их проверку. S38

6 октября CVE-2026-87890 (Moderate) был исправлен: VRT, выраженный в байтах, может ссылаться на внешние ресурсы и по-прежнему запускать сетевые запросы; В тот же день была усилена защита вложенной геометрии DoS CVE-2026-15830. Последние два нельзя обновить для описания нового RCE с высоким риском, но они указывают, что базовым уровнем развертывания должен быть 5.2.18 / 6.0.9 / 6.1.2. S39

Реализация проверяет две точки входа API и интерфейс администрирования, ограничивает ненадежный пространственный поиск, разрешения на запись файлов и исходящий доступ; после обновления выполните регрессионное тестирование допустимых пространственных запросов и отклонение запрещенного ввода. Обычные приложения Django, которые не используют GeoDjango, не должны напрямую применять этот вывод RCE.

5.6 certifi / pip: доверие сертификата должно охватывать каждую копию.

GHSA-6q48-6c7w-9gw2, 20 октября 2026 г., Critical, известный CVE не указан. Это обновление недоверия к сертификатам, вызванное промежуточным инцидентом eMudhra CA. Его нельзя охарактеризовать как криптографический механизм HTTPS или что все корневые сертификаты были взломаны. S36

В рекомендации certifi изначально 2026.10.18 был указан как патч; PSF позже явно рекомендовал 2026.10.19 для сохранения совместимости с незатронутыми корневыми сертификатами. Операционная базовая линия составляет 0,19. S36S37

Нужно различать:

Доверительное расположение материалаПочему нужно проверять отдельно
Пакет операционной системы CAДоверительный материал системы для образа или хоста
certifi в венвCA bundle фактически используется приложениями, запросами и т. д.
pip встроенный certifiЭто копия, отличная от установленной извне certifi.
uv / Другие упаковочные инструментыСледите за собственными обновлениями инструмента и проверенными источниками.
Настраиваемые файлы CA, упакованные снимкиМожет продолжать переопределять доверенные источники по умолчанию для систем или пакетов.

Выше приведен контрольный список, основанный на различных местах упаковки. PSF требует обновления связанных инструментов, существующих виртуальных сред и перестройки образа; только обновление хоста CA или переустановка интерпретатора не могут доказать, что все копии были обновлены. S35S37

При обновлении старой безопасной начальной загрузки pip PSF предоставляет команды для fixed Wheel и SHA-256, см. приложение S37. Не отключайте проверку TLS и не добавляйте --trusted-host, чтобы обойти проблемы с сертификатами.

6. Формальный процесс исправления

Следующие команды предназначены для подтвержденных доверенных сред. При выполнении необходимо объединить существующий менеджер пакетов, файл блокировки и процесс развертывания проекта, чтобы избежать смешивания npm/pnpm/yarn или pip/uv/Poetry для создания конфликтующих файлов блокировки.

Сначала обработайте исключение:. Если вы подозреваете, что в среде был запущен скомпрометированный пакет, описанный в разделе 9, сначала изолируйте его и проверьте диск, заблокируйте файл и запись образа в чистой среде; не запускайте сначала следующую команду Python/pip. S41

6.1 Создайте реестр, который может соответствовать реальному трафику.

Каждая служба записывает как минимум:

  • Внешняя точка входа, обратный прокси-сервер, прямой путь подключения к исходному сайту и фоновая очередь/запланированные задачи.
  • Фактическая команда запуска, запущенная учетная запись, двоичный путь, идентификатор процесса или контейнера.
  • Полная версия среды выполнения, издатель/репозиторий, полная версия пакета или дайджест образа.
  • Платформа и транзитивные зависимости, файлы блокировки, собственные библиотеки и пути к хранилищу доверенных сертификатов.
  • В зависимости от того, существует ли состояние уязвимости, цель исправления, область перезапуска, ответственное лицо и результат проверки.

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

6.2 Node.js: сначала определите среду выполнения, затем обновите зависимости приложения.

Проверьте в реальной среде обслуживания:

node -p 'JSON.stringify({execPath:process.execPath,node:process.version,openssl:process.versions.openssl,brotli:process.versions.brotli},null,2)'
npm ls next react react-dom react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack sharp --all
npm audit --omit=dev

node -p должен выполняться с использованием фактического исполняемого файла службы или внутри реального контейнера; он проверяет наличие новых запущенных процессов и сам не доказывает, что старый рабочий процесс был заменен. Node может добавить патч во встроенный Brotli, сохраняя при этом исходную строку версии библиотеки. Поэтому не полагайтесь исключительно на process.versions.brotli, чтобы определить, был ли он отремонтирован. Вам следует объединить его с версией безопасности Node или свидетельством резервного копирования поставщика. S2S4

npm ls используется для просмотра фактического дерева зависимостей; отсутствующие пакеты или конфликты одноранговых узлов также могут привести к ненулевым кодам выхода, поэтому вам следует прочитать конкретный вывод. npm audit используется в качестве средства проверки зависимостей и не может заменить Node проверку двоичных и встроенных библиотек.

Используйте mise для управления средой Node 24, которую можно обновить следующим образом:

mise use -g [email protected]
mise exec [email protected] -- node -p 'process.version + " " + process.execPath'

mise use -g настраивает глобальную версию; локальную конфигурацию проекта по-прежнему необходимо проверять отдельно. Если служба исправила старый абсолютный путь, базовый образ контейнера или среду другой учетной записи, необходимо обновить соответствующую конфигурацию и перезапустить службу. Сама команда не заменяет старый запущенный процесс. S43

В проекте Next выполните соответствующую команду согласно выбранной ветке. Для Next 15:

# Next 15 分支
npm install --save-exact [email protected]

Для Next 16:

# Next 16 分支
npm install --save-exact [email protected]

Проверьте React/RSC-совместимые зависимости, заблокируйте файлы и окончательный острый экземпляр, а затем выполните сборку в соответствии с процессом проекта. Используйте обновленный файл блокировки в CI для воспроизводимой установки и проверьте версию в работающем образе после сборки. Не используйте неконтролируемое автоматическое восстановление основных версий в качестве решения по умолчанию для этой чрезвычайной ситуации.

6.3 Java: проверка издателя, фактического JVM и встроенных компонентов.

Предварительная инвентаризация:

java -XshowSettings:properties -version

java.home, java.runtime.version и издатель в выходных данных должны быть приведены в соответствие с JVM, фактически используемым службой. Для JVM с разрешением на подключение jcmd из JDK можно использовать для проверки целевого процесса, а не только оболочки входа.

Проверьте зависимости в доверенных проектах и выберите на основе реальных инструментов сборки:

./mvnw dependency:tree '-Dincludes=org.apache.tomcat.embed:*,org.springframework.security:*,org.springframework.graphql:*'

./gradlew dependencyInsight --dependency tomcat-embed-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-security-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-graphql --configuration runtimeClasspath

Эти команды сборки могут запускать надстройки и разрешать зависимости в режиме онлайн и выполняться только в доверенных проектах. Проверьте окончательный JAR/WAR или фактический JAR в образе и не заменяйте объявления файла сборки окончательным артефактом. Spring Загрузочный встроенный Tomcat требует пересборки приложения; обновление отдельной установки Tomcat в системе не приведет к изменению копии в пакете приложения.

После обновления среды выполнения проверьте настроенный javax.net.ssl.trustStore, самостоятельно загружаемое приложением хранилище ключей, среду выполнения jlink, GraalVM/собственный образ и другие формы доставки по пунктам. Приложения, у которых уже есть настроенные доверенные материалы, не могут завершить проверку только потому, что каталог JDK становится новым.

6.4 Python: интерпретатор за интерпретатором и обработка в виртуальной среде.

Внутри фактического венва/контейнера, которому доверяют:

python - <<'PY'
import sys
import ssl
import importlib.metadata as metadata

print("executable:", sys.executable)
print("version:", sys.version)
print("openssl:", ssl.OPENSSL_VERSION)
print("verify_paths:", ssl.get_default_verify_paths())
for name in ("pip", "certifi", "Django", "urllib3", "Brotli", "litellm"):
    try:
        print(name + ":", metadata.version(name))
    except metadata.PackageNotFoundError:
        print(name + ": not installed")
PY

python -m pip --version
python -m pip check

Этот сценарий только собирает информацию и не выполняет определение квалификации версии. ssl.get_default_verify_paths() — это информация о пути по умолчанию, и она не может доказать, что все сторонние клиенты используют одно и то же хранилище доверенных сертификатов; это должно быть подтверждено на основе конфигурации приложения.

После завершения доверенного обновления загрузки pip приложения S37 обновите зависимости сертификата в соответствии с ограничениями проекта, например:

python -m pip install --upgrade 'certifi>=2026.10.19'

# 仅适用于当前就选择 Django 5.2 的项目
python -m pip install --upgrade 'Django>=5.2.18,<5.3'

python -m pip check

Файл требований/блокировки проекта необходимо обновить одновременно, иначе при следующем развертывании может вернуться к старой версии. При использовании uv, Poetry или репозитория корпоративных пакетов используйте существующие процессы блокировки и публикации; не изменяйте пакеты вручную только внутри производственного контейнера.

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

Не рекомендуется заставлять систему /usr/bin/python3 указывать на новую скомпилированную версию. Используйте обновления безопасности выпуска или среды выполнения изоляции проекта, чтобы избежать поломки инструментов управления, которые полагаются на систему Python. Это выбор реализации, который не является дополнительным требованием к устранению этой уязвимости.

6.5 Пересоберите и замените работающий экземпляр.

При полной замене рекомендуется выполнить следующие шаги:

  1. Получите патч из исходного надежного источника и сохраните версию/хэш и блокировку зависимостей.
  2. Верните ключевые функции в среду, близкую к производственной, и убедитесь, что собственные расширения совместимы с JVM/framework.
  3. Обновите среду выполнения, зависимости приложений и фактическое хранилище доверенных сертификатов; обновите базовый образ и систему CA для контейнера, а не просто повторно используйте старый слой.
  4. Перестраивайте приложения и образы, а также периодически заменяйте экземпляры служб, исполнителей, потребителей очередей и запланированных задач.
  5. Еще раз проверьте версию и конфигурацию нового запущенного экземпляра и убедитесь, что все старые копии завершились.
  6. Наблюдайте за частотой ошибок, задержкой, CPU/памятью, сбоями установления связи TLS и сбоями процессов.

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

7. Временное смягчение последствий и выбор патча

7.1 Граница действия временных мер

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

рискВременные меры, которые можно принятьЧасть, которая не может считаться завершенной на основании этого
Brotli декодированиеОстановить ненадежное декодирование ввода; проверить входящую и исходящую автоматическую декомпрессиюВходящий WAF или отключение сжатия ответа не распространяется на все записи декодирования S3
Next.js typed arrays RCEОбновите немедленно; при необходимости временно изолировать затронутые службыОфициального надежного универсального решения S9 не существует.
Next.js SVG RCEОфициальный план: Обеспечить фактическую остроту ≥0.35.5; приостановить соответствующие точки входа в оптимизацию, когда это позволяет бизнесНе охватывает другие проблемы Next/RSC S11
Область Tomcat / HTTP/2 / AJPИзолируйте соответствующий путь и закройте ненужные соединители.Все еще нужен соответствующий пакет ремонта филиала S21S22S23
GraphQL ДесериализацияПриостановить затронутые поля подключения; ограничить ненадежных абонентовТолько ограничение длины запроса не может решить проблему типа/десериализации S25
Spring embedded LDAPОтключайте, когда не нужно; ограничить досягаемость реального порта прослушиванияАдминистративную идентификацию по умолчанию и целостность каталога все еще необходимо проверить S27
CPython SNI UAFОфициальный план: сохраняйте соответствующую строгую ссылку SSLContext до конца обслуживания.Все пути создания/переключения должны быть покрыты S29.
Python пропуск имени хостаОфициальное решение: правильно передать ожидаемое имя_сервераНевозможно просто проверить флаг check_hostname или игнорировать предупреждение S30S31
Ненадежная смолаОтключить/поместить в карантин извлечение, отклонить несущественные ссылки и записи об устройствах.Ни фильтры, ни квоты ресурсов не являются универсальными песочницами S32S40S45
Событие доверия сертификатаОбновите правильный материал CA; Доверие Java может быть ограничено в соответствии с официальными мерами.Отключение проверки TLS увеличивает риск S19S37

7.2 Выбор патча в зависимости от способа доставки

Способ доставкиРасставьте приоритеты в методах ремонтаДоказательства, которые следует сохранить
Среда выполнения, управляемая распространениемСоответствующие обновления безопасности производителя.Полная версия пакета, анонс, исходный код репозитория
Официальный двоичный файл/менеджер времени выполненияОфициальный релиз безопасности из той же веткиВерсия, исходный код и дайджест, фактический путь выполнения
Самокомпилированный Node / CPythonОфициальный исходный релиз соответствующей ветки или полный набор исправлений поставщика.Набор коммитов, параметры сборки, зависимые библиотеки и результаты регрессии
Spring / Next / DjangoСовместимость с обновлениями внутри ветвей, восстановлением блокировок зависимостей и окончательными приложениями.Окончательное дерево зависимостей, актуальная версия в JAR/package/image.
Пользовательское хранилище доверенных сертификатовОфициальный план вывода средств или обновление поставщика, подтверждающее вывод средствФактический путь использования, изменение материала, успешные и отказные тесты TLS
Скомпрометированная средаВосстановите систему на основе чистых и надежных продуктов и проведите отдельное расследование инцидентов.Исторический дайджест пакета/образа, запись установки, запись ротации учетных данных

7.3 Механизм исправления ключей и фокус обзора

  • Brotli: обращает внимание на то, завершены ли проверка границ и возврат ошибок собственного состояния декодирования перед входом в сборку; только замена пакета JavaScript не может изменить код, статически скомпилированный в Node. S4
  • Node DNS/TLS: фокусируется на отклонении ввода, нормализации адреса, различении идентификаторов IP SAN и DNS, а также обратном вызове/обещании DNS. путь анализа и проверка соответствия имени хоста TLS. S5S6
  • Tomcat JNDIRealm: фокусируется на том, действительно ли процесс аутентификации проверяет учетные данные, а не просто на получении контекста каталога; отдавая приоритет официальной версии и не рассматривая замену одного исходного файла как полный бинарный патч. S24
  • CPython ssl: фокусируется на владении ссылкой Python и жизненном цикле базового SSLContext; wrap_bio() выполняет резервное копирование, хотя имеет различия в совместимости ветвей, и вы должны прочитать фактическую реализацию используемой ветки. S31S47
  • Сертификат недоверия: Такие обновления могут отображаться как доверенные материалы или изменения в запрещенном списке, а не как очевидные изменения API. В ту же партию Node также входит механизм отбраковки затронутого промежуточного продукта CA; соответствующие источники доверия Java и Python по-прежнему необходимо проверять отдельно. S19S37S46

**Независимая привязка Brotli также должна быть проверена.**В тот же день Google выпустила 1.0.10 / 1.1.1 / 1.2.1 для исправления. CVE-2026-111497. Собственные расширения Python или артефакты JNI, встраивающие одну и ту же затронутую реализацию C, необходимо независимо обновлять/пересобирать; нельзя сделать вывод, что затронуты все чистые декодеры Java, а также нельзя предположить, что обновление Node автоматически заменяет копии на других языках. S42

8. Проверка и последующие проверки

8.1 Минимальный контрольный список проверки

Проверить элементыТребуются доказательства
время выполненияДоказательства полной версии или резервного копирования поставщика верны в реальном процессе/контейнере.
зависимости приложенияNext/RSC/sharp, Tomcat/Spring и Django/certifi в продуктах окончательного развертывания достигли соответствующего порога.
Диапазон заменыВсе копии рабочих/JVM/контейнеров и фоновые задачи были заменены новыми, а старые экземпляры завершились.
TLSДействительные сертификаты домена успешны; несовпадающие имена хостов и недействительные цепочки не соответствуют политике; включены пользовательские хранилища доверия
eMudhra недовериеЦепочка сертификатов, созданная затронутым промежуточным звеном CA, была отклонена во время фактического выполнения, или есть свидетельства того, что была развернута сборка безопасности конкретного поставщика или соответствующий список отклонения; дело не может быть закрыто на основании общего теста TLS или короткого номера версии Java 8.
Node расшифровка и образыДоступны обычный сжатый ответ, загрузка, оптимизация изображения и функции RSC; действует политика ненадежных источников
Java Аутентификация и изоляцияНеправильный пароль отклонен; независимые одновременные асинхронные запросы пользователей без смешивания идентификаторов и ответов; LDAP слушает, как и ожидалось
Python SNI / АрхивОбычный многодоменный бизнес с именем TLS стабилен; архивирование отклоняет обход пути и запрещенные ссылки, а файлы вне каталога не изменяются.
Данные и функциональная регрессияПейджинг, пространственный запрос, проверка разрешений и фоновые задачи прошли существующие тесты проекта.
Ресурсы и наблюденияАномального увеличения CPU, памяти, частоты ошибок, задержки и ошибок TLS не наблюдается.
ПрослеживаемостьСэкономьте время обновления, дайджест пакета/образа, изменения конфигурации, результаты проверки и неразрешенные элементы.

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

8.2 Установка исправлений и расследование вторжений — это разные задачи.

Проверьте существующие журналы на наличие необычных ошибок декодирования, сбоев Worker/JVM, подозрительных записей файлов, изменений данных каталога, исключений аутентификации, исходящих запросов и записей использования учетных данных. Эти признаки необходимо оценивать в контексте: сбой или OOM не являются доказательством успешной эксплуатации; отсутствие предупреждений не доказывает, что система не пострадала.

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

9. Инцидент с безопасностью цепочки поставок: компрометация LiteLLM 1.107.0

**Официальная дата подтверждения: 21 октября 2026 г.**LiteLLM сообщил, что его конвейер выпуска был скомпрометирован. PyPI litellm==1.107.0 и некоторые продукты Docker/GHCR того же периода содержали вредоносный код для кражи секретов и удаленного управления, а связанные продукты были отозваны. S41

Чтобы определить влияние, вам следует проверить исторические записи об установке и дайджест образа; такие метки, как latest, main-latest и main-stable, теперь указывают на чистые изображения, что не доказывает, что продукты, извлеченные во время инцидента, были чистыми. Официальной рекомендацией на тот момент было временно закрепить 1.106.2; эта рекомендация была основана на этом инциденте, и другие объявления безопасности все еще необходимо проверять во время развертывания. S41

Для сред, в которых были установлены или запущены связанные продукты:

  1. Изолируйте и сохраните записи установки, изображения и журналы и проверяйте их в чистой среде.
  2. Не запускайте Python/pip сначала в подозрительной среде; вредоносный .pth/sitecustomize.py может быть выполнен повторно после запуска.
  3. Пересобрать хосты, венвсы/контейнеры из доверенных источников; не может просто удалить или понизить версию пакетов.
  4. Отзыв/замена учетных данных облака, ключей поставщика LLM, ключей LiteLLM и учетных данных базы данных на основе фактической доступности и проверка ненормального использования. S41

Это подтвержденный инцидент в цепочке поставок, и при его устранении необходимо учитывать выполнение вредоносного кода, утечку учетных данных и риски устойчивости. По состоянию на 23 октября 2026 года официальные лица все еще расследовали первоначальное вторжение.

Приложение: Цитируемые источники и ссылки

Следующая дата проверки источника — 2026-10-23, включая официальное объявление о безопасности проекта, официальный репозиторий кода и инструкции поставщика. Основной текст [Sx] соответствует этому приложению; при выполнении обновлений следует проверять, выпустил ли поставщик последующие версии.

S1 — Node.js: Уведомление о безопасности от 21 октября 2026 г.

  • Цель: четыре среды выполнения High, затрагивающие филиалы, октябрьский выпуск безопасности.
  • Источник: Official Security Bulletin

S2 — Node.js: Официальные инструкции по выпуску для трех линий обслуживания.

S3 — Vercel: Node.js Brotli RCE рекомендации по безопасности

  • Цель: условия декодирования входящего/исходящего трафика, граница покрытия WAF, статус Node 20.
  • Источник: Node.js security advisory: Brotli decoder RCE

S4 — Node.js: официальный патч Brotli

  • Цель: основа реализации встроенной проверки декодирования и распространения ошибок.
  • Источник: Brotli Patch commit 49dff6f57a

S5 — Node.js: патч нормализации адреса TLS

S6 — Node.js: проверочный патч DNS NUL

S7 — Node.js: Уведомление о безопасности от 29 июля 2026 г.

  • Цель: нехватка памяти HTTP/2, UAF и уязвимости модели разрешений.
  • Источник: July 2026 Security Releases

S8 — Next.js: обновление безопасности от 14 октября 2026 г.

Источник: S9 — Next.js:typed arrays / use cache RCE

  • Цель: GHSA-673q-mjm6-r5xr; влияет на интервал, состояние, оценку и статус обходного решения.
  • Источник: Next.js Official Security Bulletin

Источник: S10 — React:React Server Components RCE

  • Цель: GHSA-xqc2-xf4c-x3h3; затронутые и исправленные версии трех пакетов RSC.
  • Источник: React Official Security Bulletin

Источник: S11 — Next.js:SVG Image Optimization RCE

Источник: S12 — Next.js:Server Actions DoS

S13 — Next.js: AVIF Оптимизация изображения RCE

Источник: S14 — Next.js:Windows RCE

Источник: S15 — Next.js:next/og ImageResponse RCE

Источник: S16 — Oracle: October 2026 CPU

S17 — Oracle: CVE-2026-91403 внеполосный сигнал тревоги

  • Назначение: 21 октября 2026 г., риск доверия сертификата JSSE, затронутые продукты и CVSS 3.1 9.1.
  • Источник: Oracle Security Alert

S18 — Oracle: официальная версия JDK и скачать

  • Цель: Отличить CPU от 20 октября и внеполосную версию от 21 октября; различать ограничения короткой версии Java 8.
  • Источник: JDK release list
  • Источник: Oracle Java Download page

S19 — Oracle: временный план вывода eMudhra

  • Цель: Обновлено 22 октября 2026 г.; два корневых сертификата, keytool, собственное хранилище доверенных сертификатов и проверка отзыва.
  • Источник: Distrusting eMudhra Intermediate Certificates in Oracle JDK

S20 — Eclipse Adoptium: запись сборки выпуска

  • Цель: Temurin переупакован из-за инцидента с сертификатом; суффикс версии Oracle не может быть применен механически.
  • Источник: Adoptium Release Scorecards

S21 — Apache Tomcat 9 Уведомление о безопасности

  • Цель: 9-ветвевой точный затронутый интервал с исправлением 9.0.123.
  • Источник: Tomcat 9 vulnerabilities

S22 — Apache Tomcat 10 Уведомление о безопасности

  • Цель: точный интервал ветки 10.1 и ремонт 10.1.61; 10.0 EOL.
  • Источник: Tomcat 10 vulnerabilities

S23 — Apache Tomcat 11 Уведомление о безопасности

  • Цель: три пункта Important, 11.0.27, AJP, применимая область применения и дата раскрытия/выпуска.
  • Источник: Tomcat 11 vulnerabilities

S24 — Apache Tomcat: фиксация патча JNDIRealm

  • Цель: формальная основа для устранения пробелов в проверке сертификации.
  • Источник: JNDIRealm Patch commit

Источник: S25 — Spring:GraphQL CVE-2026-59285

Источник: S26 — Spring:GraphQL CVE-2026-41699

  • Цель: более ранний порог исправления, просто чтобы объяснить, почему вы не можете оставаться на старом базовом уровне.
  • Источник: 6 Month GraphQL Security Bulletin

Источник: S27 — Spring Security:CVE-2026-59270

  • Цель: внедрить UnboundID LDAP, известный идентификатор управления и отличить OSS/коммерческую версию.
  • Источник: Spring embedded LDAP Security Bulletin

Источник: S28 — Spring Security:CVE-2026-47841

  • Цель: аутентификация пользователя WebAuthn, сериализация сеанса и предпосылка атаки.
  • Источник: WebAuthn Security Bulletin

S29 — PSF: CVE-2026-19445 Независимые рекомендации по безопасности

  • Цель: 30 сентября 2026 г., Critical, SNI Условия и временные меры, указанные в SSLContext.
  • Источник: SSLContext UAF Official announcement

S30 — PSF: CVE-2026-19553 Независимые рекомендации по безопасности

S31 — CPython: официальный патч Wrap_bio и бэкпорт 3.12

S32 — PSF: CVE-2026-82049 Независимые рекомендации по безопасности

S33 — CPython: официальный релиз безопасности в конце сентября/начале октября.

S34 — CPython: 3.10 последняя безопасная версия

  • Цель: 3.10.22 и завершение жизненного цикла исходного кода.
  • Источник: Python 3.10.22

S35 — CPython: версия для аварийного обслуживания от 21 октября 2026 г.

  • Назначение: 3.13.17/3.14.9/3.15.1, встроенные обновления pip и certifi, существующие требования venv.
  • Источник: Python 3.13.17
  • Источник: Python 3.14.9
  • Источник: Python 3.15.1

S36 — certifi: объявление о недоверии сертификату emSign

S37 — PSF: влияние eMudhra / emSign на пользователей Python

  • Назначение: рекомендация certifi .19, базовая версия pip/uv, команда обновления доверенной загрузки с помощью SHA-256.
  • Источник: PSF Official event and upgrade instructions

Команда обновления загрузки pip, предоставленная официальными инструкциями, цитируемыми S37, выглядит следующим образом. Использовать только в средах Python, надежность которых подтверждена; если есть подозрение на отравление в Разделе 9, сначала изолируйте и перестройте в соответствии с процессом инцидента. Он исправляет хеш содержимого колеса и впоследствии обновляет другие зависимости в соответствии с процессом проекта.

python -m pip install "pip @ https://files.pythonhosted.org/packages/3f/06/3e4420302363fbb71be3c7f35ce042f54bfca330e3e66b3a2e3c4cca579f/pip-26.2.2-py3-none-any.whl#sha256=fd7f4dfa8190e014013b9f08f3e973f4e4c26ffd179a204895533a7254813a70"

S38 — Django: безопасный выпуск от 04 августа 2026 г.

  • Использование: CVE-2026-15307, GeoDjango Условия эксплуатации, первоначальные исправления и изменения совместимости.
  • Источник: Django 6.0.8 / 5.2.17

S39 — Django: безопасный выпуск от 6 октября 2026 г.

  • Назначение: CVE-2026-87890, геометрия DoS последующее армирование с выбранной в данный момент базовой линией.
  • Источник: Django 6.1.2 / 6.0.9 / 5.2.18

S40 — PSF / CPython: последнее примечание к tar_filter.

  • Назначение: 2026-10-22, CVE-2026-114583 (Medium); Слияние PR не означает, что была выпущена официальная версия обслуживания.
  • Источник: PSF Independent Announcement
  • Источник: CPython Patch PR #160098

S41 — LiteLLM: Официальный отчет об инциденте в цепочке поставок, 21 октября

  • Цель: зараженный продукт 1.107.0, исторический дайджест, реконструкция изоляции и уничтожение учетных данных.
  • Источник: Contained: LiteLLM v1.107.0 Compromised

S42 — Google Brotli: официальная защищенная версия

  • Цель: Независимый Brotli 1.0.10 / 1.1.1 / 1.2.1 и встроенная межъязыковая основа проверки копирования.
  • Источник: Brotli releases

S43 — mise: используйте официальную документацию команды

  • Цель: указать версию инструмента и семантику команд глобальной конфигурации.
  • Источник: mise use

S44 — PyPA: Официальный проект pip-аудит

  • Цель: Python Цель и границы возможностей аудита уязвимостей зависимостей.
  • Источник: pip-audit

S45 — Python: документ фильтра извлечения tar-файла.

  • Цель: стратегия данных, изменения поведения по умолчанию и ограничения, которые не могут заменить песочницу.
  • Источник: tarfile extraction filters

S46 — Node.js: Промежуточный механизм отбраковки CA.

  • Цель: обработка цепочки доверия, связанная с eMudhra, не эквивалентна криптографическому признанию недействительными всех корневых сертификатов.
  • Источник: Node.js PR #66871

S47 — CPython: технические примечания и исправления SNI UAF.