Descripción del problema
La versión anterior de Nacos encontró una vulnerabilidad balsa y se actualizó directamente a la última versión 2.2.3 para resolver el problema.
pasos de actualización
1. Modificar pom
- camino:
jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
- Actualmente, la nueva dependencia no se ha cargado en el almacén oficial de maven, configure el servidor privado jeecg
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-cloud-nacos</artifactId>
<name>jeecg-cloud-nacos</name>
<description>nacos启动模块</description>
<version>3.5.2</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.14</version>
<relativePath/>
</parent>
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun Repository</name>
<url>https://maven.aliyun.com/repository/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jeecg</id>
<name>jeecg Repository</name>
<url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<log4j2.version>2.17.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.jeecgframework.nacos</groupId>
<artifactId>nacos-naming</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.nacos</groupId>
<artifactId>nacos-istio</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.nacos</groupId>
<artifactId>nacos-config</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.nacos</groupId>
<artifactId>nacos-console</artifactId>
<version>2.2.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2. Actualice la base de datos de Nacos y ejecute el script de actualización
ALTER TABLE config_info ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
ALTER TABLE his_config_info ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
ALTER TABLE config_info_beta ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
ALTER TABLE config_info_tag ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
3. Inicie el proyecto Nacos para completar la actualización
La actualización está completa, es así de simple.
4. Descripción de la vulnerabilidad
1. Instrucciones específicas
Nacos es una plataforma de administración de servicios, configuración y descubrimiento de servicios dinámicos y fácil de usar para crear aplicaciones nativas de la nube.
Recientemente, Nacos lanzó una versión actualizada para corregir una vulnerabilidad de deserialización. Dado que el clúster de Nacos no restringe el uso de hessian para la deserialización al procesar algunas solicitudes de Jraft, puede conducir a la ejecución remota de código. Sin embargo, esta vulnerabilidad solo afecta al puerto 7848 (bajo la configuración predeterminada), generalmente este puerto es el puerto de comunicación del protocolo Raft entre los clústeres de Nacos y no lleva las solicitudes de los clientes, por lo que se puede mitigar prohibiendo las solicitudes desde fuera de Nacos. clúster en este puerto.
Actualmente, la vulnerabilidad se ha solucionado y los usuarios afectados pueden actualizar a la versión 1.4.6 o 2.2.3 de Nacos.
2. Ámbito de influencia
1.4.0<=Versión Nacos<1.4.6
2.0.0<=Versión Nacos<2.2.3
3. Blog de referencia
- http://net.jstu.edu.cn/2023/0612/c2331a165901/page.htm
- http://www.hackdig.com/06/hack-1004954.htm
- https://blog.csdn.net/qq12547345/article/details/131183159
- https://blog.csdn.net/weiyangdong/article/details/131440830