Sploitus

Exploit for CVE-2020-7247-POC

kitploit · 2026-08-24

Exploit Code

MARKDOWN42 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SIMONSCHOENI-CVE-2020-7247-POC
* Premessa
  * Fatti chiave sullo sfruttamento
  * Installazione del server vulnerabile
    * Configurazione
    * Disclaimer sull'ambiente
  * Exploit
    * Sfruttamento manuale
    * Sfruttamento tramite script



# Premessa

Questo repository dovrebbe servire come base per configurare e sfruttare CVE-2020-7247 in un ambiente controllato e privato. Tutto il codice e la configurazione pubblicati sono destinati esclusivamente al test di questa vulnerabilità e non per abusarne contro sistemi che non sono di tua proprietà o per i quali non hai il permesso di sfruttarli. Il proprietario di questo repository non è da ritenere responsabile per l'uso di questi strumenti da parte di terzi.

# Fatti chiave sullo sfruttamento

Il problema principale nel codice è che la validazione della mail non funziona. Permette il passaggio di caratteri potenzialmente pericolosi nei campi `MAIL FROM` e `RCPT TO`.   
Se la parte locale dell'indirizzo email non è valida, viene trattata come valida perché il codice aggiunge la parte del dominio e la interpreta come valida successivamente. Ciò permette all'attaccante di eseguire codice arbitrario.

root@kitploit:~
    
    
    2189 static int
    2190 smtp_mailaddr(struct mailaddr *maddr, char *line, int mailfrom, char **args,
    2191     const char *domain)
    2192 {
    ....
    2218         if (!valid_localpart(maddr->user) ||
    2219             !valid_domainpart(maddr->domain)) {
    ....
    2229                 if (maddr->domain[0] == '\0') {
    2230                         (void)strlcpy(maddr->domain, domain,
    2231                             sizeof(maddr->domain));
    2232                         return (1);
    2233                 }
    2234                 return (0);
    2235         }
    2236
    2237         return (1);
    2238 }