È stata pubblicata una versione correttiva della libreria crittografica OpenSSL 3.0.7, che risolve due vulnerabilità. Entrambi i problemi sono causati da un buffer overflow nel codice di verifica del campo email nei certificati X.509 e possono potenzialmente portare all'esecuzione di codice durante l'elaborazione di un certificato appositamente formattato. Al momento della pubblicazione della correzione, non sono state registrate segnalazioni di exploit funzionanti in grado di portare all'esecuzione di codice da parte di un attaccante.
Sebbene l'annuncio di prepubblicazione della nuova versione menzionasse una vulnerabilità critica, nello specifico aggiornamento rilasciato lo stato della vulnerabilità è stato abbassato a un livello di pericolo elevato, ma non critico. Secondo le regole stabilite nel progetto, il livello di pericolo viene ridotto nel caso in cui il problema si manifesti in configurazioni atipiche o in caso di bassa probabilità di sfruttamento della vulnerabilità nella pratica.
Nel caso esaminato, il livello di pericolo è stato ridotto poiché, a seguito di un'analisi dettagliata delle vulnerabilità da parte di diverse organizzazioni, è stato constatato che la possibilità di esecuzione di codice durante l'exploit è bloccata dai meccanismi di protezione contro il buffer overflow utilizzati in molte piattaforme. Inoltre, la disposizione della rete applicata in alcune distribuzioni Linux porta a situazioni in cui i dati in uscita oltre i 4 byte sovrappongono un buffer nello stack che non è ancora in uso. Tuttavia, non si può escludere che ci siano piattaforme in cui è possibile sfruttare vulnerabilità per eseguire codice.
Problemi identificati:
- CVE-2022-3602 — una vulnerabilità inizialmente presentata come critica, porta a un overflow del buffer di 4 byte durante la verifica nel certificato X.509 di un campo con un indirizzo email opportunamente formattato. Nel client TLS, la vulnerabilità può essere sfruttata durante la connessione a server, controllato dall'attaccante. Su un server TLS, la vulnerabilità può essere sfruttata in presenza di autenticazione dei clienti tramite certificati. In questo caso, la vulnerabilità si manifesta nella fase successiva alla verifica della catena di fiducia del certificato, ovvero per l'attacco è necessario che l'autorità di certificazione avvii un certificato malevolo dell'aggressore.
- CVE-2022-3786 — un altro vettore di sfruttamento della vulnerabilità CVE-2022-3602, identificato durante l'analisi del problema. Le differenze riguardano la possibilità di overflow del buffer nello stack per un numero arbitrario di byte contenenti il carattere «.» (cioè l'attaccante non può controllare il contenuto del'overflow e il problema può essere utilizzato solo per causare un arresto anomalo dell'applicazione).
Le vulnerabilità si manifestano solo nella serie OpenSSL 3.0.x (l'errore è comparso nel codice di conversione Unicode (punycode) inserito nella serie 3.0.x). Le versioni OpenSSL 1.1.1, così come le librerie derivate OpenSSL come LibreSSL e BoringSSL, non sono affette dal problema. Allo stesso tempo, è stato creato un aggiornamento di OpenSSL 1.1.1s, che contiene solo correzioni di errori non relative alla sicurezza.
Il ramo OpenSSL 3.0 è utilizzato in distribuzioni come Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36 e Debian Testing/Unstable. Gli utenti di questi sistemi sono invitati a installare gli aggiornamenti il prima possibile (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). In SUSE Linux Enterprise 15 SP4 e openSUSE Leap 15.4, i pacchetti con OpenSSL 3.0 sono disponibili su base opzionale, mentre i pacchetti di sistema utilizzano il ramo 1.1.1. Sui rami OpenSSL 1.x rimangono Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 e FreeBSD.
Fonte: opennet.ru
