JeecgBoot actualiza Nacos a la versión 2.2.3 para resolver la vulnerabilidad de la balsa

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

Supongo que te gusta

Origin blog.csdn.net/zhangdaiscott/article/details/131730495
Recomendado
Clasificación