CVE-2025-48927

TeleMessage TM SGNL

ВЕРОЯТНОСТЬ 7.6%

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

2025-07-01

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

TeleMessage TM SGNL contains an initialization of a resource with an insecure default vulnerability. This vulnerability relies on how the Spring Boot Actuator is configured with an exposed heap dump endpoint at a /heapdump URI.

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

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

Уязвимость CVE-2025-48927 в TeleMessage TM SGNL связана с небезопасной конфигурацией Spring Boot Actuator по умолчанию. В приложении остается открытым доступ к эндпоинту /heapdump.

Heap dump (дамп кучи) — это снимок оперативной памяти Java-процесса в определенный момент времени. Он содержит критически важные данные: * Учетные данные пользователей и сессионные токены. * Ключи шифрования и API-ключи. * Переменные окружения и конфигурационные параметры. * Персональные данные (PII), обрабатываемые приложением.

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

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

Основной способ устранения — ограничение доступа к чувствительным эндпоинтам Actuator в конфигурационных файлах приложения (application.properties или application.yml).

  1. Откройте файл конфигурации приложения и измените список доступных эндпоинтов, исключив heapdump.

Для application.properties:

management.endpoints.web.exposure.exclude=heapdump

Для application.yml:

management:
  endpoints:
    web:
      exposure:
        exclude: "heapdump"

  1. Если Actuator используется только для мониторинга состояния (Health Check), рекомендуется ограничить список разрешенных эндпоинтов до минимума.

Для application.properties:

management.endpoints.web.exposure.include=health,info

  1. После внесения изменений перезапустите сервис:
systemctl restart telemessage-sgnl

Временные меры

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

  1. Блокировка доступа на уровне Reverse Proxy (Nginx). Добавьте правило в конфигурацию сервера:
location /actuator/heapdump {
    deny all;
    return 403;
}

  1. Ограничение доступа с помощью сетевого экрана (iptables) для блокировки внешних запросов к порту управления (если он отличается от основного):
iptables -A INPUT -p tcp --dport 8081 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP

  1. Настройка Spring Security для принудительной аутентификации эндпоинтов Actuator (требует наличия зависимости Spring Security):
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests()
        .anyRequest().hasRole("ADMIN").and().httpBasic();
    return http.build();
}