Vai al contenuto principale
BlogSicurezzaBollettino di sicurezza Linode dal 21 al 28 gennaio 2023

Linode Security Digest dal 21 al 28 gennaio 2023

Digesto di sicurezza di Linode

Nel digest di questa settimana discuteremo di:

  • Come Sudoedit può modificare file arbitrari;
  • Avvisi di sicurezza per Drupal e Git; e 
  • Una vulnerabilità di negazione del servizio in HAProxy.

Sudoedit può modificare file arbitrari

ID CVE: CVE-2023-22809

Sudo è un programma che consente a un amministratore di sistema di dare a utenti selezionati la possibilità di eseguire comandi come root. Synacktiv ha scoperto questa vulnerabilità. Un problema di aggiramento dei criteri sudoers potrebbe portare all'escalation dei privilegi utilizzando sudoedit per modificare file non autorizzati. Le versioni di Sudo interessate vanno dalla 1.8.0 alla 1.9.12p1.

Durante l'utilizzo di sudoedit, gli utenti selezionano il proprio utente di modifica utilizzando le variabili d'ambiente, come SUDO_EDITOR, VISUAL e EDITOR. Il contenuto di queste variabili estende il comando effettivo passato alla funzione sudo_edit(). A "-" dovrebbe determinare l'elenco dei file da modificare. Tuttavia, l'aggiunta di un ulteriore parametro "-" nelle variabili d'ambiente autorizzate può alterare questo elenco e portare all'escalation dei privilegi modificando qualsiasi altro file con i privilegi dell'utente target.

Rilevamento

La vulnerabilità può essere rilevata eseguendo il seguente comando come utente a cui è stata concessa la modifica del file, ad esempio /etc/custom/service.conf, elencato nel file /etc/sudoers.

$ cat /etc/sudoers
user ALL=(ALL:ALL) sudoedit /etc/custom/service.conf
[...]

$ EDITOR='vim -- /etc/passwd' sudoedit /etc/custom/service.conf

Mitigazione

Oltre all'aggiornamento alla versione patchata, è possibile mitigare la vulnerabilità aggiungendo le variabili d'ambiente interessate all'elenco env_delete deny quando si utilizza sudoedit.

Defaults!SUDOEDIT            env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/custom/service.conf
user                                              ALL=(ALL:ALL) SUDOEDIT

Avvisi di sicurezza Drupal

Drupal ha rilasciato avvisi di sicurezza per risolvere le vulnerabilità che interessano diversi prodotti. Un utente malintenzionato potrebbe sfruttare queste vulnerabilità per accedere a informazioni sensibili. La CISA incoraggia gli utenti e gli amministratori a leggere i seguenti avvisi di sicurezza di Drupal e ad applicare gli aggiornamenti necessari.

Drupal Core - Divulgazione di informazioni

Codice degli avvisi di sicurezza: SA-CORE-2023-001

Gli utenti con accesso alla modifica dei contenuti potrebbero vedere i metadati di elementi multimediali a cui non sono autorizzati ad accedere a causa di un controllo improprio dell'accesso alle entità nel modulo Media Library. La mitigazione della vulnerabilità è possibile perché i media inaccessibili sono visibili solo agli utenti che possono già modificare il contenuto includendo un campo di riferimento del media. 

Indipendentemente dal fatto che Drupal precedente alla versione 9.4.x sia a fine vita, si raccomanda di aggiornare alle ultime versioni, tra cui Drupal 10.0.2, Drupal 9.5.2 e Drupal 9.4.10.

Browser delle entità - Divulgazione di informazioni

Codice degli avvisi di sicurezza: SA-CONTRIB-2023-002

Gli utenti possono selezionare le entità dai campi di riferimento delle entità utilizzando un widget del browser delle entità personalizzato dal modulo Entity Browser. Questa vulnerabilità consente agli utenti con accesso alla modifica dei contenuti di vedere i metadati di entità a cui non sono autorizzati ad accedere, poiché il modulo non controlla correttamente l'accesso alle entità. La vulnerabilità può essere mitigata dal fatto che le entità inaccessibili saranno visibili solo agli utenti che possono già modificare il contenuto utilizzando Entity Browser. Per risolvere la vulnerabilità, se si usa il modulo Entity Browser per Drupal 9 o 10, aggiornare Entity Browser alla versione 8.x-2.9.

Blocco Mediateca - Divulgazione di informazioni

Codice degli avvisi di sicurezza: SA-CONTRIB-2023-003

Il modulo Media Library Block consente agli utenti di rendere le entità multimediali in un blocco. Il controllo improprio dell'accesso ai media da parte del modulo potrebbe far sì che gli utenti vedano i media a cui non sono autorizzati ad accedere se nella pagina è presente un blocco contenente elementi multimediali con restrizioni. Per mitigare questo accesso non autorizzato, rimuovere i blocchi che fanno riferimento a elementi multimediali con restrizioni di accesso. Se si utilizza il modulo Media Library Block per Drupal 9 o 10, si consiglia di aggiornarlo alla versione 1.0.4 per risolvere il problema.

Modulo Mediateca API Elemento - Divulgazione di informazioni

Codice degli avvisi di sicurezza: SA-CONTRIB-2023-004

Il modulo Media Library API Element consente agli utenti di utilizzare la libreria multimediale in moduli personalizzati senza il widget Libreria multimediale. A causa del controllo improprio dell'accesso alle entità da parte del modulo, gli utenti con accesso alla modifica dei contenuti potrebbero vedere i metadati di elementi multimediali a cui non sono autorizzati ad accedere. Mitigare la vulnerabilità rendendo i media inaccessibili visibili solo agli utenti che possono già modificare il contenuto che include un campo di riferimento per i media. Se il modulo Media Library API Element versione 8.x-1.*, o 2.x per Drupal 9 o 10, si consiglia di aggiornare il modulo alla versione 2.0.6.

Avvisi di sicurezza Git

Un controllo di sicurezza del codice sorgente di Git ha rivelato diverse vulnerabilità, tra cui due di gravità critica che potrebbero consentire agli aggressori di eseguire codice arbitrario dopo aver sfruttato con successo le debolezze del buffer overflow basato sull'heap. Entrambe le vulnerabilità critiche sono state corrette nelle versioni di Git v2.30.7, v2.31.6, v2.32.5, v2.33.6, v2.34.6, v2.35.6, v2.36.4, v2.37.5, v2.38.3 e v2.39.1.

Heap overflow in `git archive`, `git log -format` che porta a RCE

ID CVE: CVE-2022-41903

git log può visualizzare i commit in un formato arbitrario con lo specificatore -format. Anche git archive con il gitattributo export-subst ha questa funzionalità. Quando vengono elaborati gli operatori di padding, una variabile size_t viene impropriamente memorizzata come int nella funzione pretty.c format_and_pad_commit(), quindi viene aggiunta come offset alla successiva chiamata a memcpy(). Gli attaccanti possono provocare l'overflow eseguendo git log -format=... per richiamare la formattazione del commit o eseguendo git archive con l'attributo export-subst, che espande lo specificatore di formato per un file. L'overflow dei numeri interi può causare l'esecuzione di codice remoto scrivendo codice arbitrario in memoria.

Soluzioni

Si consiglia di aggiornare Git alla versione più recente, che risolve completamente la vulnerabilità. Se l'aggiornamento non è possibile, gli utenti non dovrebbero eseguire git archive su un repository non attendibile. Se l' archivio git è esposto tramite il demone git, eseguire git config -global daemon.uploadArch false per disabilitare il comando.

gitattributes parsing integer overflow

ID CVE: CVE-2022-23521

Git consente agli utenti di definire gli attributi per i percorsi aggiungendo un file .gitattributes al repository, che contiene un insieme di pattern di file e di attributi che dovrebbero essere impostati per i file che corrispondono al pattern. Alcune condizioni possono causare l'overflow dei numeri interi durante l'analisi degli attributi:

  • quando c'è un numero eccessivo di modelli di percorso;
  • quando ci sono numerosi attributi per un singolo modello;
  • quando i nomi degli attributi dichiarati sono estesi.

Gli overflow possono essere innescati quando il file .gitattributes modificato fa parte della cronologia dei commit. Le righe più lunghe di 2KB vengono divise silenziosamente quando si analizza gitattributes da un file, ma non dall'indice. Di conseguenza, il fallimento può verificarsi quando il file esiste nell'indice, nell'albero di lavoro o in entrambi. La vulnerabilità può portare a letture e scritture arbitrarie della testa, con conseguente esecuzione di codice remoto.

Soluzioni

Non è stata pubblicata alcuna soluzione applicabile. L'unica soluzione è aggiornare Git all'ultima versione patchata elencata.

Vulnerabilità di negazione del servizio in HAProxy

ID CVE: CVE-2023-0056

HAProxy è un bilanciatore di carico del server ad alta disponibilità per applicazioni HTTP. Questa vulnerabilità è dovuta alla mancata gestione di flag inattesi nella funzione http_wait_for_response(), che può causare l'arresto del processo. Di conseguenza, la vulnerabilità consente a un utente malintenzionato di eseguire un attacco di negazione del servizio. 

Le versioni vulnerabili di HAProxy vanno dalla 2.0.0 alla 2.7.0. Le vulnerabilità sono state corrette nelle versioni 2.5.11, 2.6.8 e 2.7.2. Tuttavia, le versioni corrette per le versioni da 2.0.x a 2.4.x non sono ancora state rilasciate.

Commenti

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *