Вопрос или проблема
Я использую .NET 8.0 для моей виртуальной машины Ubuntu 24, и я ссылаюсь на метаданные релиза для обновления версий.
Я пытаюсь исправить некоторые уязвимости, и отчет предлагает следующие пакеты с версии 8.0.12-0ubuntu124.04.1 на 8.0.108-8.0.8-0ubuntu124.04.1:
dotnet-host-8.0
aspnetcore-runtime-8.0
dotnet-apphost-pack-8.0
aspnetcore-targeting-pack-8.0
dotnet-runtime-8.0
dotnet-hostfxr-8.0
dotnet-targeting-pack-8.0
Мы сталкиваемся с проблемой с пакетами .NET на Ubuntu 24. Хотя правильные версии здесь:
azure-arm.build_vhd: Get:11 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 dotnet-targeting-pack-8.0 amd64 8.0.12-0ubuntu124.04.1 [2953 kB]
azure-arm.build_vhd: Get:12 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 dotnet-templates-8.0 amd64 8.0.112-0ubuntu124.04.1 [2196 kB]
azure-arm.build_vhd: Get:13 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 netstandard-targeting-pack-2.1-8.0 amd64 8.0.112-0ubuntu124.04.1 [1392 kB]
azure-arm.build_vhd: Get:14 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 dotnet-sdk-8.0 amd64 8.0.112-0ubuntu124.04.1 [90.8 MB]
Похоже, что требуется понижение версии (См. предупреждение безопасности Ubuntu USN-6959-1 (https://ubuntu.com/security/notices/USN-6959-1)) для обновлений и информации о патчах.
Патч:
Следующие ссылки для загрузки патчей, чтобы устранить уязвимости:
USN-6959-1: Ubuntu Linux (https://ubuntu.com/security/notices/USN-6959-1))
Пакет Установленная версия Требуемая версия
dotnet-host-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
aspnetcore-runtime-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
dotnet-apphost-pack-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
aspnetcore-targeting-pack-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
dotnet-runtime-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
dotnet-hostfxr-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1
dotnet-targeting-pack-8.0 8.0.12-0ubuntu124.04.1 8.0.108-8.0.8-0ubuntu124.04.1#
Примечание: эта проблема отсутствует на Ubuntu 22, где установка проходит без выявления уязвимостей.
Не могли бы вы помочь нам понять:
- Почему в рекомендации предлагается понижение до более старых версий, даже если установлены более новые версии?
- Есть ли исправление или патч специально для Ubuntu 24, чтобы устранить уязвимости, сохраняя последние версии?
- Есть ли какая-то проблема с Ubuntu 24?
Ответ или решение
Ваша ситуация с уязвимостями в .NET на Ubuntu 24 имеет несколько аспектов, требующих понимания и анализа. Рассмотрим ваши вопросы последовательно, учитывая детали вашего описания и формат обсуждения:
Теория:
Совет по версии и уязвимостям (.NET и Ubuntu):
-
Причины возврата (даунгрейда) версий:
- В системах, как правило, обновления и патчи предоставляют исправление уязвимостей в новых версиях. Однако бывают случаи, когда новые версии содержат критические ошибки безопасности или несовместимости, и временным решением является возврат к предыдущей стабильной версии.
- Ссылка на вашу проблему с Ubuntu 24 и .NET предполагает, что теоретически уязвимость может быть идентифицирована именно в этих "новых" сборках, что потенциально делает старую версию безопаснее на данный момент.
-
Специфика Ubuntu 24 по сравнению с Ubuntu 22:
- Новые версии операционных систем (как, например, Ubuntu 24) часто содержат изменения в системных библиотеках, компиляторах и других основных компонентах.
- Эти изменения могут вызвать несовместимость с определенными версиями пакетов приложений. Это значит, что версии, работающие на Ubuntu 22, могут привести к ошибкам на Ubuntu 24 без дополнительных корректировок.
Пример:
Допустим, в вашем случае .NET 8.0.12-0ubuntu124.04.1 имеет более широкие системные требования или использует обновленные библиотеки, не имеющиеся в Ubuntu 24 или имеющие неизвестные проблемы совместимости. Это может быть действительно критично для вашего проекта, так как отказ безопасности или производительности может привести к более серьезным последствиям, поэтому происходит рекомендация "даунгрейда".
Другая возможность — обновленная версия имеет слабость (эксплойт), которая неисправлена или незначительно повлияет на систему и будет устранена только в будущих обновлениях.
Применение:
-
Действия по устранению:
- Проверьте официальный сайт или репозиторий Ubuntu на наличие конкретного патча, устранение или совет:
- Ознакомьтесь также с изменениями в системных библиотеках, которые могут быть уместно установить отдельно.
- Выполняйте установку через специально настроенные PPA (если доступно), чтобы получить нужные версии уязвимых пакетов.
- Проверьте официальный сайт или репозиторий Ubuntu на наличие конкретного патча, устранение или совет:
-
Временное решение:
- Временно используйте рекомендованные к снижению версии, если для продолжающей работы и безопасности это подходит.
- Наблюдайте за выходом последующих обновлений (зафиксируйте ситуацию для аналитики и мониторинга произошедших изменений).
-
Поддержка сообщества и официальный канал связи:
- Направьте запрос в поддержку Ubuntu или форумы — возможность сообщения об этой проблеме может ускорить выход официального исправления.
- Создайте резервные копии и тестовые окружения, чтобы избежать критических последствий возможного развертывания нестабильных пакетов.
Вывод:
Поскольку вы отметили, что на Ubuntu 22 такой проблемы нет, выполните сверку версий и оценку институциональных средств, с которыми связано использование обоих дистрибутивов. Возврат версии (даунгрейд) запрашиваемых пакетов — действенная временная мера, но лучшим выходом будет тщательно администрировать систему в подсистемах обновления до официального фикс-патча. Держите в курсе изменений в безопасности через обновления и заранее анализируйте потенциальные риски в новой среде для защиты от подобных инцидентов впредь.