
Exploit per CVE-2023-33246 che prende di mira Apache RocketMQ 5.1.0, consentendo l'esecuzione remota di codice tramite iniezione di pacchetti appositamente realizzati nell'endpoint di aggiornamento della configurazione del broker.
Apache RocketMQ è una piattaforma di messaggistica e streaming distribuita con bassa latenza, alte prestazioni e affidabilità, capacità a livello di trilioni e scalabilità flessibile.
Offre una varietà di funzionalità:
Questo paragrafo ti guida attraverso i passaggi per installare RocketMQ in diversi modi. Per lo sviluppo e i test locali, verrà creata una sola istanza per ogni componente.
RocketMQ è eseguibile su tutti i principali sistemi operativi e richiede solo l'installazione di un Java JDK versione 8 o superiore. Per verificare, esegui java -version:
$ java -version
java version "1.8.0_121"
Per gli utenti Windows, clicca qui per scaricare la release binaria 4.9.4 di RocketMQ, decomprimila sul tuo disco locale, ad esempio D:\rocketmq.
Per gli utenti macOS e Linux, esegui i seguenti comandi:
# Download release from the Apache mirror
$ wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-4.9.4-bin-release.zip
Prepara un terminale e spostati nella directory bin estratta:
$ cd rocketmq-4.9.4/bin
1) Avviare NameServer
NameServer sarà in ascolto su 0.0.0.0:9876, assicurati che la porta non sia utilizzata da altri sulla macchina locale, e poi procedi come segue.
Per utenti macOS e Linux:
### start Name Server
$ nohup sh mqnamesrv &
### check whether Name Server is successfully started
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
Per gli utenti Windows, devi prima impostare le variabili d'ambiente:
ROCKETMQ_HOME="D:\rocketmq".Quindi cambia directory in rocketmq, digita ed esegui:
$ mqnamesrv.cmd
The Name Server boot success...
2) Avviare Broker
Per utenti macOS e Linux:
### start Broker
$ nohup sh bin/mqbroker -n localhost:9876 &
### check whether Broker is successfully started, eg: Broker's IP is 192.168.1.2, Broker's name is broker-a
$ tail -f ~/logs/rocketmqlogs/broker.log
The broker[broker-a, 192.169.1.2:10911] boot success...
Per gli utenti Windows:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
Puoi eseguire RocketMQ sulla tua macchina all'interno di container Docker, la rete host verrà utilizzata per esporre la porta di ascolto nel container.
1) Avviare NameServer
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) Avviare Broker
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
Puoi anche eseguire un cluster RocketMQ all'interno di un cluster Kubernetes utilizzando RocketMQ Operator. Prima di operare, assicurati che kubectl e il relativo file kubeconfig siano installati sulla tua macchina.
1) Installare CRDs
### install CRDs
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
### check whether CRDs is successfully installed
$ kubectl get crd | grep rocketmq.apache.org
brokers.rocketmq.apache.org 2022-05-12T09:23:18Z
consoles.rocketmq.apache.org 2022-05-12T09:23:19Z
nameservices.rocketmq.apache.org 2022-05-12T09:23:18Z
topictransfers.rocketmq.apache.org 2022-05-12T09:23:19Z
### check whether operator is running
$ kubectl get pods | grep rocketmq-operator
rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2) Creare un'istanza del cluster
### create RocketMQ cluster resource
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
### check whether cluster resources is running
$ kubectl get sts
NAME READY AGE
broker-0-master 1/1 107m
broker-0-replica-1 1/1 107m
name-service 1/1 107m
Accogliamo sempre nuovi contributi, sia per pulizie minori, grandi nuove funzionalità o altre ricompense materiali, maggiori dettagli qui.
Apache License, Version 2.0 Copyright (C) Apache Software Foundation
Questa distribuzione include software crittografico. Il paese in cui risiedi attualmente potrebbe avere restrizioni sull'importazione, il possesso, l'uso e/o la riesportazione verso un altro paese di software di crittografia. PRIMA di utilizzare qualsiasi software di crittografia, controlla le leggi, i regolamenti e le politiche del tuo paese riguardanti l'importazione, il possesso o l'uso e la riesportazione di software di crittografia, per verificare se è consentito. Vedi http://www.wassenaar.org/ per maggiori informazioni.
Il Dipartimento del Commercio del Governo degli Stati Uniti, Bureau of Industry and Security (BIS), ha classificato questo software come Export Commodity Control Number (ECCN) 5D002.C.1, che include software di sicurezza informatica che utilizza o esegue funzioni crittografiche con algoritmi asimmetrici. La forma e la modalità di questa distribuzione dell'Apache Software Foundation lo rendono idoneo all'esportazione secondo l'eccezione License Exception ENC Technology Software Unrestricted (TSU) (vedi le BIS Export Administration Regulations, Section 740.13) sia per il codice oggetto che per il codice sorgente.
Quanto segue fornisce maggiori dettagli sul software crittografico incluso:
Questo software utilizza Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) per supportare l'autenticazione, e la crittografia e decrittografia dei dati inviati attraverso la rete tra servizi.