CVE-2020-5410

VMware Tanzu Spring Cloud Configuration (Config) Server

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

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

2022-03-25

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

Spring, by VMware Tanzu, Cloud Config contains a path traversal vulnerability that allows applications to serve arbitrary configuration files.

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

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

Злоумышленник может выполнить атаку типа Path Traversal (обход пути), отправляя специально сформированные HTTP-запросы к серверу конфигурации Spring Cloud Config. Это позволяет получить доступ к произвольным файлам на файловой системе сервера, включая конфиденциальные конфигурационные файлы других приложений, что может привести к утечке данных и компрометации систем.

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

Обновите Spring Cloud Config Server до версии, в которой уязвимость устранена.

  • Для Spring Cloud Config 2.2.x: обновитесь до версии 2.2.4.RELEASE или выше.
  • Для Spring Cloud Config 2.1.x: обновитесь до версии 2.1.10.RELEASE или выше.

Пример команды для обновления через Maven (измените версию в pom.xml):

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
    <version>2.2.4.RELEASE</version> <!-- Используйте актуальную патченную версию -->
</dependency>

После изменения версии пересоберите и перезапустите приложение.

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

Если немедленное обновление невозможно, примените следующие меры:

  1. Ограничьте сетевой доступ: Настройте правила сетевого экрана (firewall) или группы безопасности (Security Groups), чтобы разрешить доступ к порту сервера конфигурации только из доверенных подсетей (например, только для IP-адресов ваших приложений).
  2. Настройте WAF (Web Application Firewall): Разверните WAF перед сервером и активируйте правило для блокировки атак типа Path Traversal (часто называется "Path Traversal", "Directory Traversal" или "LFI").
  3. Используйте Reverse Proxy: Разместите сервер за reverse proxy (например, Nginx) и настройте строгие правила для URL, запрещающие последовательности с .. и другие специальные символы.

Пример базового правила для Nginx (location блок в конфигурации):

location ~ /(.*/\.\./.*) {
    deny all;
    return 403;
}