Log4Shell-Schwachstelle und Sophora

Ist Sophora von der Log4j-Sicherheitslücke betroffen?

Diese Seite beantwortet die wichtigsten Fragen zu Sophora und der Log4j-Sicherheitslücke.

Log4j ermöglicht in alten Versionen Angriffe auf Server
Log4j ermöglicht in alten Versionen Angriffe auf Server (Bild: Markus Spiske via Unsplash)

Wie ihr der Presse entnommen habt, wurde am 10.12.2021 eine kritische Sicherheitslücke in Log4Shell der Java-Bibliothek Log4j bekannt – siehe die entsprechenden Meldungen des BSI (Bundesamt für Sicherheit in der Informationstechnik): "Kritische Schwachstelle in Java-Bibliothek Log4j" und der CISA (Cybersecurity and Infrastructure Security Agency): CVE-2021-44228, CVE-2021-45046 und CVE-2021-45105.

Sophora-Produkte sind nicht betroffen

Die betroffene Bibliothek ist log4j-core-2.X.Y.jar in allen Versionen zwischen 2.0.0 und 2.17.0.. log4j 1.x ist eingeschränkt verwundbar. Nach unseren Analysen sind Sophora-Produkte nicht betroffen.

Alle Sophora-Produkte nutzen die Bibliotheken Logback und Slf4j für das Logging, kein Log4j. Auch der im Sophora-Server eingebettete Solr enthält nicht die kritische log4j-Bibliothek. Wir prüfen das noch weiter, aber zunächst können wir für Sophora Entwarnung geben.

Die folgenden Bibliotheken, die teilweise in Sophora-Produkten verwendet werden, enthalten das Problem nicht: log4j-api, log4j-to-slf4j, log4j-over-slf4j. Diese Bibliotheken sind Adapter, um das Logging von Bibliotheken, die eigentlich log4j erwarten, auf Slf4j bzw. Logback umzuleiten. Der problematische Code ist in diesen Adaptern nicht enthalten.

Empfehlung: Eigene Webapps und andere Produkte prüfen

Wichtig aber: Auch wenn Sophora direkt nicht betroffen ist, raten wir euch dringend, dennoch auch eure Sophora-Webapps und andere Produkte, in denen ihr Sophora verwendet, sorgfältig zu prüfen, ob dort log4j-core verwendet wird – denn in den Kundenprojekten werden in der Regel zusätzlich eine Reihe von projektspezifischen Bibliotheken verwendet, die (eventuell indirekt) log4j-core eingebunden haben könnten. In Java-Maven-Projekten könnt ihr eine Prüfung beispielsweise durchführen mit:

  mvn dependency:list | grep log4j-core

Welche Libs sind verwundbar?

tl;dr: 2.0 <= log4j-core < 2.17.0

Siehe dazu https://github.com/mubix/CVE-2021-44228-Log4Shell-Hashes

log4j 1.x?

Da log4j-1.x schon länger „End-Of-Life“ (EOL) ist, solltet ihr betroffene Anwendungen auf jeden Fall ebenfalls auf eine log4j-Version 2.17.x aktualisieren. Aus https://logging.apache.org/log4j/2.x/security.html:

Please note that Log4j 1.x has reached end of life and is no longer supported. Vulnerabilities reported after August 2015 against Log4j 1.x were not checked and will not be fixed. Users should upgrade to Log4j 2 to obtain security fixes.

log4j 1.x ist wohl eingeschränkt verwundbar: https://github.com/apache/logging-log4j2/pull/608#issuecomment-991723301

Welche Libs sind nicht verwundbar?

  • logback
  • slf4j
  • log4j-api
  • log4j-to-slf4j
  • log4j-over-slf4j

Wie kann ich prüfen, ob ein Projekt betroffen ist?

  • Mit mvn dependency:tree | grep log4j kann in Maven geprüft werden, ob eine Abhängigkeit zu einer betroffenen log4j-core Version besteht
  • Mit Syft kann ebenfalls geprüft werden, ob eine Abhängigkeit zu einer betroffenen log4j-core Version besteht, auch auf Docker images usw.
  • Bei abhängigen Services für ein Projekt (beispielsweise eine Java basierte Datenbank) in offiziellen Quellen nachlesen, ob diese Services betroffen sind und wenn ja, in welchen Versionen

Aktualisierungen dieses Artikels

  • 22.12.2021: In einer früheren Version dieses Artikels haben wir empfohlen, bei kundenspezifischen Projekten, in denen log4j-core verwendet wurde, log4j-core mindestens auf 2.15.x zu aktualisieren. Angesichts von CVE-2021-45046 und CVE-2021-45105, haben wir diese Empfehlung auf 2.17.x korrigiert. Sophora selbst ist davon weiterhin nicht betroffen.
Team subshell
Team subshell
14.12.21
Icon