Log4Shell-Schwachstelle und Sophora
Diese Seite beantwortet die wichtigsten Fragen zu Sophora und der Log4j-Sicherheitslücke.
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.
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.
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
tl;dr: 2.0 <= log4j-core < 2.17.0
Siehe dazu https://github.com/mubix/CVE-2021-44228-Log4Shell-Hashes
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
mvn dependency:tree | grep log4j
kann in Maven geprüft werden, ob eine Abhängigkeit zu einer betroffenen log4j-core Version bestehtlog4j-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.