CVE-2020-10199

Sonatype Nexus Repository

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2021-11-03

Официальное описание

Sonatype Nexus Repository contains an unspecified vulnerability that allows for remote code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (CVE-2020-10199) в Sonatype Nexus Repository позволяет удаленному атакующему выполнить произвольный код на сервере. Это достигается путем отправки специально сформированного HTTP-запроса к определенным компонентам веб-интерфейса, которые некорректно обрабатывают ввод пользователя.

Как исправить

Необходимо обновить Nexus Repository до версии, содержащей исправление. Уязвимость устранена в следующих релизах: * Nexus Repository Manager 3.x: Обновитесь до версии 3.22.0 или новее. * Nexus Repository Manager OSS/Pro 2.x: Обновитесь до версии 2.14.15.

Процесс обновления (пример для Linux): 1. Остановите текущий экземпляр Nexus. bash systemctl stop nexus 2. Сделайте резервную копию текущей установки и данных. bash tar -czf /backup/nexus_backup_$(date +%Y%m%d).tar.gz /opt/sonatype/nexus/ 3. Скачайте и установите исправленную версию с официального сайта Sonatype. 4. Распакуйте архив в директорию установки (например, /opt/sonatype/nexus), заменив старые файлы (кроме директорий sonatype-work и etc). 5. Запустите Nexus. bash systemctl start nexus

Временное решение

Если немедленное обновление невозможно, примените следующие меры: 1. Ограничьте сетевой доступ: Настройте брандмауэр (например, iptables или облачный Security Group) так, чтобы доступ к веб-интерфейсу Nexus (порт 8081 по умолчанию) был разрешен только с доверенных IP-адресов (например, сетей CI/CD-серверов и администраторов). bash # Пример iptables для разрешения доступа только из сети 10.0.1.0/24 iptables -A INPUT -p tcp --dport 8081 -s 10.0.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 8081 -j DROP 2. Настройте Reverse Proxy/WAF: Разместите Nexus за веб-сервером (Nginx, Apache) или Web Application Firewall (WAF), способным фильтровать вредоносные HTTP-запросы. Настройте строгие правила для всех путей, начинающихся с /service/rest, /service/extdirect и /nexus. 3. Проверьте аутентификацию: Убедитесь, что для всех репозиториев и функций Nexus настроена обязательная аутентификация (включая анонимный доступ, который должен быть отключен в настройках безопасности).