È stata pubblicata una versione correttiva della libreria crittografica OpenSSL 3.0.7, in cui sono state risolte due vulnerabilità. Entrambi i problemi sono causati da un overflow del buffer nel codice di verifica del campo dell'indirizzo email nei certificati X.509 e potrebbero potenzialmente portare all'esecuzione di codice durante l'elaborazione di un certificato appositamente creato. Al momento della pubblicazione della correzione, gli sviluppatori di OpenSSL non avevano registrato casi di exploit attivi in grado di portare all'esecuzione di codice malevolo.
Nonostante nell'annuncio anticipato della nuova versione fosse menzionata la presenza di un problema critico, in realtà, nello aggiornamento rilasciato, lo stato della vulnerabilità è stato ridotto a quello di vulnerabilità pericolosa, ma non critica. In conformità con le regole adottate nel progetto, la riduzione del livello di pericolo avviene in caso di manifestazione del problema in configurazioni atipiche o in caso di bassa probabilità di sfruttamento della vulnerabilità nella pratica.
Nel caso in esame, il livello di pericolo è stato ridotto poiché, a seguito di un'analisi dettagliata della vulnerabilità condotta da diverse organizzazioni, è stata conclusa la possibilità di esecuzione di codice durante l'utilizzo risulta bloccata dai meccanismi di protezione contro l'overflow dello stack applicati su molte piattaforme. Inoltre, il layout utilizzato in alcune distribuzioni di Linux fa sì che l'uscita oltre 4 byte si sovrapponga al successivo buffer nello stack, che non è ancora utilizzato. Tuttavia, non si esclude che possano esistere anche piattaforme in cui possa avvenire lo sfruttamento per eseguire codice.
Problemi riscontrati:
- CVE-2022-3602 — una vulnerabilità inizialmente presentata come critica, porta a un overflow di buffer di 4 byte durante la verifica di un campo con un indirizzo email appositamente formattato nel certificato X.509. Nel client TLS, la vulnerabilità può essere sfruttata durante la connessione a server, controllato da un attaccante. Sul server TLS, la vulnerabilità può essere sfruttata in caso di utilizzo dell'autenticazione dei clienti tramite certificati. In questo caso, la vulnerabilità si manifesta in una fase successiva alla verifica della catena di fiducia legata al certificato, cioè per l'attacco è necessario che l'autorità di certificazione avvalori il certificato dannoso dell'attaccante.
- 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 di buffer nello stack per un numero arbitrario di byte contenenti il carattere «.» (cioè, l'attaccante non può controllare il contenuto dell'overflow e il problema può essere utilizzato solo per causare la terminazione anomala dell'applicazione).
Le vulnerabilità si manifestano solo nel ramo OpenSSL 3.0.x (l'errore è emerso nel codice di conversione Unicode (punycode) aggiunto nel ramo 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, è stata rilasciata un'aggiornamento OpenSSL 1.1.1s, che contiene solo correzioni di bug 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, Debian Testing/Unstable. Gli utenti di questi sistemi sono invitati ad 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 opzionalmente, i pacchetti di sistema utilizzano il ramo 1.1.1. Nel ramo 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
