
Reproduction d'exploit et PoC pour CVE-2023-33246 dans Apache RocketMQ, avec configuration d'environnement local basé sur Docker et exécution d'exploit personnalisé.
CVE-2023-33246 https://github.com/I5N0rth/CVE-2023-33246
# docker pull apache/rocketmq:4.9.1
# docker pull apacherocketmq/rocketmq-console:2.0.0
docker run -dit -p 9876:9876 -p 10909:10909 --name mqsrv -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq:4.9.1 sh mqnamesrv /bin/bash
docker run -dit -p 10909:10909 -p 10911:10911 --name mqbroker --restart=always --link mqsrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" apache/rocketmq:4.9.1 sh mqbroker -c /home/rocketmq/rocketmq-4.9.1/conf/broker.conf
docker run -dit --name mqconsole -p 8080:8080 -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=mqsrv:9876 -Drocketmq.config.isVIPChannel=false" apacherocketmq/rocketmq-console:2.0.0
PS : Notez que lors du démarrage du broker et de la console, l'adresse du namesrv associé est spécifiée.
Modifiez pom.xml et ajoutez la dépendance
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-tools</artifactId>
<version>4.8.0</version>
</dependency>
Lien de référence : Erreur : java : le package org.apache.xxxxxx n'existe pas