Apache Log4j 2.17.0 wurde veröffentlicht! Sehen Sie, welches Problem gelöst wurde?

藏色散人
Freigeben: 2021-12-20 11:10:14
nach vorne
3053 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:OSC开源社区
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage