Heim > Artikel > Betrieb und Instandhaltung > Apache Log4j 2.17.0 wurde veröffentlicht! Sehen Sie, welches Problem gelöst wurde?
Apache Log4j Version 2.17.0 wurde offiziell veröffentlicht und behebt die dritte entdeckte Sicherheitslücke CVE-2021-45105.
Apache Log4j2-Versionen 2.0-alpha1 bis 2.16.0 verhindern nicht die unkontrollierte Rekursion selbstreferenzieller Suchvorgänge. Wenn die Protokollkonfiguration ein nicht standardmäßiges Musterlayout und eine nicht standardmäßige Kontextsuche verwendet (z. B. $${ctx:loginId}), kann ein Angreifer, der die MDC-Eingabedaten (Thread Context Map) kontrolliert, bösartige Eingabedaten erstellen, die rekursive Suchvorgänge enthalten, was zu Problemen führt ein StackOverflowError. Dadurch wird der Prozess beendet. Dies wird auch als DoS-Angriff bezeichnet. [Empfohlen: Apache-Nutzungsanleitung]
Ab Version 2.17.0 (für Java 8) wird nur die Suchzeichenfolge in der Konfiguration rekursiv erweitert, bei jeder anderen Verwendung wird nur die Suche auf oberster Ebene analysiert, nicht jede verschachtelte Suche.
In früheren Versionen konnte dieses Problem gemildert werden, indem sichergestellt wurde, dass Ihre Protokollierungskonfiguration Folgendes tat:
Verwenden Sie im PatternLayout der Protokollierungskonfiguration das Thread-Kontextzuordnungsmuster (%X, %mdc oder %MDC). Ersetzen Sie ${ctx:loginId} oder $${ctx:loginId} und andere Kontextsuchen.
Andernfalls entfernen Sie Verweise auf Kontextsuchen wie ${ctx:loginId} oder ${ctx:loginId} in der Konfiguration; sie stammen aus Quellen außerhalb der Anwendung, z. B. HTTP-Headern oder Benutzereingaben.
Zu den spezifischen Updates der Version 2.17.0 gehören:
Rekursion beim Ersetzen von Zeichenfolgen behoben. Fix LOG4J2-3230
Beschränken Sie JNDI nur auf das Java-Protokoll. Standardmäßig bleibt JNDI deaktiviert. Die JNDI-Aktivierungseigenschaften wurden von „log4j2.enableJndi“ in „log4j2.enableJndiLookup“, „log4j2.enableJndiJms“ und „log4j2.enableJndiContextSelector“ umbenannt. Fix LOG4J2-3242
JNDI ist nur auf das Java-Protokoll beschränkt. Standardmäßig bleibt JNDI deaktiviert. Die Eigenschaft „enable“ wurde in „log4j2.enableJndiJava“ umbenannt. Fix LOG4J2-3242
Deklarieren Sie log4j-api-java9 und log4j-core-java9 nicht als Abhängigkeiten, da dies zu Problemen mit dem Maven-Enforcer-Plugin führt. Korrigieren Sie LOG4J2-3241
PropertiesConfiguration.parseAppenderFilters NPE beim Parsen von Eigenschaftendateifiltern. Fix LOG4J2-3247
Die Log4j 1.2-Brücke von Syslog Appender verwendet standardmäßig Port 512 statt 514. Fix LOG4J2-3249
Log4j 1.2 Bridge API Hardcodes Syslog-Protokoll zu TCP. Beheben Sie LOG4J2-3237
Das obige ist der detaillierte Inhalt vonApache Log4j 2.17.0 wurde veröffentlicht! Sehen Sie, welches Problem gelöst wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!