Kwetsbaarheden verholpen in Apache Log4j

Deze pagina gebruikt slimmigheden om officiële advisory platte tekst naar HTML om te zetten. Daarbij kan die informatie worden verminkt. De "Signed-PGP" versies waarnaar verwezen wordt zijn normatief (maar deze zijn minder leesbaar).
Publicatie Kans Schade    
  Versie 1.07 22-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
22-12-2021
high
high
NCSC-2021-1052 [1.07] Signed-PGP →
Kenmerken

Kenmerken

  • Denial-of-Service (DoS)
  • (Remote) code execution (Administrator/Root rechten)
  • (Remote) code execution (Gebruikersrechten)
Omschrijving

Omschrijving

Er zijn vier kwetsbaarheden verholpen in Apache Log4j. Log4j is een Java log-tool die door een groot aantal applicaties en diensten wordt gebruikt. Voor misbruik van de kwetsbaarheden dient een kwaadwillende malafide gegevens door Log4j te laten verwerken. Dit kan bijvoorbeeld worden bereikt door de malafide gegevens in een login-veld van een website te plaatsen. Houdt er rekening mee dat de kwetsbaarheid mogelijk ook op systemen kan worden misbruikt die niet rechtstreeks voor de kwaadwillende bereikbaar zijn. De kwetsbaarheden hebben de kenmerken CVE-2021-44228, CVE-2021-45046, CVE-2021-4104 en CVE-2021-45105 gekregen.

CVE-2021-44228: De eerste kwetsbaarheid met kenmerk CVE-2021-44228, beter bekend als Log4shell, stelt een ongeauthenticeerde kwaadwillende op afstand in staat om willekeurige code uit te voeren. De rechten waaronder de kwaadwillende code kan uitvoeren is afhankelijk van de rechten waarmee de bovenliggende applicatie draait. Het is daarom niet uit te sluiten dat de code van de kwaadwillende onder verhoogde rechten wordt uitgevoerd. De kwetsbaarheid is aanwezig in Log4j 2.0-beta9 t/m 2.12.1 en 2.13.0 t/m 2.14.1. Het NCSC ontvangt meldingen dat de kwetsbaarheid met kenmerk CVE-2021-44228 actief wordt misbruikt.

CVE-2021-45046: De tweede kwetsbaarheid met kenmerk CVE-2021-45046 stelt een ongeauthenticeerde kwaadwillende in staat om een denial-of-service te veroorzaken of om willekeurige code uit te voeren. De impact is vergelijkbaar met de hierboven genoemde kwetsbaarheid CVE-2021-44228. Eerder gaf Apache aan dat deze kwetsbaarheid alleen kon worden misbruikt voor een Denial-of-Service aanval, de kwetsbaarheid kreeg een CVSS score van 3.7. Inmiddels heeft Apache aangegeven dat deze kwetsbaarheid ook het uitvoeren van willekeurige code mogelijk maakt, al dan niet op afstand. Het op afstand uitvoeren van willekeurige code is aangetoond in macOS, maar nog niet op andere omgevingen. De Apache ontwikkelaars geven op dit moment aan dat de standaardconfiguratie van Log4j niet kwetsbaar is voor CVE-2021-45046. Het is echter mogelijk dat applicatieontwikkelaars een kwetsbare configuratie van Log4j in hun applicatie gebruiken. De kwetsbaarheid is aanwezig in Log4j 2.0-beta9 t/m 2.12.1 en 2.13.0 t/m 2.15.0. Meer informatie over de kwetsbaarheid met kenmerk CVE-2021-45046 is te vinden op [Link]

CVE-2021-4104: De derde kwetsbaarheid met kenmerk CVE-2021-4104 stelt een lokale kwaadwillende in staat om willekeurige code uit te voeren. Net als bij de andere twee kwetsbaarheden wordt code uitgevoerd met de rechten waaronder de bovenliggende applicatie draait. In tegenstelling tot de andere twee kwetsbaarheden is CVE-2021-4104 alleen lokaal te misbruiken doordat de kwaadwillende in staat moet zijn om de Log4j-configuratie aan te passen. De aanvalsvector is daardoor beperkt. De kwetsbaarheid is aanwezig in Log4j 1.x en afwezig in Log4j 2.0 en hoger. Log4j 1.x is sinds 2015 end-of-life en ontvangt geen beveiligingsupdates meer.

CVE-2021-45105: De vierde kwetsbaarheid met kenmerk CVE-2021-45105 stelt een kwaadwillende op afstand in staat om de inhoud van logbestanden te manipuleren. Dit beperkt zich tot het toevoegen van stacktrace- en debuginformatie aan logbestanden. Een lokale kwaadwillende met toegang tot het Log4j-configuratiebestand zou de kwetsbaarheid daarnaast kunnen misbruiken voor het veroorzaken van een denial-of-service. De inschaling van deze specifieke kwetsbaarheid is HIGH/MEDIUM. De kwetsbaarheid is aanwezig in Log4j 2.0-alpha1 t/m 2.12.2 en 2.13.0 t/m 2.16.0.

Voor elk van de genoemde kwetsbaarheden is exploitcode publiek beschikbaar.

Het NCSC is bezig om een zo breed en actueel mogelijk beeld te krijgen van gerelateerde software die mogelijk kwetsbaar is. Om een zo actueel mogelijk beeld te geven van getroffen systemen en beschikbare patches, houdt het NCSC een lijst bij op GitHub [1]. Kwetsbare applicaties die op deze lijst staan worden behandeld als onderdeel van dit H/H-advies. Organisaties worden geadviseerd de lijst regelmatig te controleren op relevante updates. Op GitHub is naast een lijst van software en patches ook een overzicht van tools, IoC's en Yara-rules te vinden.

Het NCSC houdt de situatie in de gaten en werkt waar nodig dit beveiligingsadvies bij wanneer relevante informatie beschikbaar komt.

[1] [Link]

Bereik

Bereik

Platforms Producten Versies

Apache Log4j

Oplossingen

Oplossingen

Patches en updates

Apache heeft updates uitgebracht om de kwetsbaarheden te verhelpen. In onderstaande tabel staat per kwetsbaarheid de eerste versie vermeld waarin de kwetsbaarheid is verholpen:

CVE-kenmerkLog4j-versie (Java 7)Log4j-versie (Java 8)---------------------------------------------------------------
CVE-2021-442282.12.22.15.0
CVE-2021-450462.12.22.16.0
CVE-2021-4104N/AN/A
CVE-2021-451052.12.32.17.0

De kwetsbaarheden met inschaling HIGH/HIGH zijn verholpen in Log4j 2.12.2, 2.12.3, 2.16.0 en 2.17.0. 2.12.2 en 2.16.0 zijn echter kwetsbaar voor de lager ingeschaalde kwetsbaarheid met kenmerk CVE-2021-45105. Het advies luidt daarom om te updaten naar versie 2.12.3 of 2.17.0 waar mogelijk, maar het bijwerken van Log4j naar versie 2.12.2 of 2.16.0 hierop voorrang te geven. Voor updates bent u mogelijk afhankelijk van uw softwareleverancier. Apache zelf biedt de bijgewerkte versies aan via de volgende pagina [Link]

Source code patches die de kwetsbaarheid verhelpen zijn te verkrijgen via de GitHub-repository van het Log4j project [Link]

In een GitHub-repository van het NCSC wordt een overzicht bijgehouden van kwetsbare software. In deze repository zijn tevens tools, IoC's en Yara-rules te vinden. Het NCSC raadt aan om de repository periodiek te controleren op informatie relevant voor uw organisatie. De repository is beschikbaar via de volgende URL [Link]

Daarnaast raadt het NCSC aan om de volgende pagina's in de gaten te houden voor actuele informatie vanuit Apache [Link]

Mitigerende maatregelen

Er zijn mitigerende maatregelen beschikbaar voor organisaties die niet de mogelijkheid hebben om Log4j bij te werken naar een gepatchte versie. Houdt er rekening mee dat het toepassen van deze mitigaties mogelijk invloed heeft op de werking van de bovenliggende applicatie.

CVE-2021-44228 en CVE-2021-45046: Verwijder de JndiLookup-class met het commando "zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class".

CVE-2021-4104: Verwijder de JMSAppender-class met het commando "zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class".

CVE-2021-45105: In de "PatternLayout" in het Log4j-configuratiebestand, vervang context lookups als "${ctx:loginId}" en "$${ctx:loginId}" door thread context map patterns als "%X", "%mdc" of "%MDC". Als alternatief kunnen context lookups die invoer vanaf een externe bron verwerken (zoals HTTP-headers en gebruikersinvoer) volledig uit de configuratie worden verwijderd.

Aanvullend handelingsperspectief

Op de website van het NCSC is aanvullend handelingsperspectief te vinden. Zie de volgende pagina voor meer informatie [Link]

CVE’s

CVE’s

CVE-2021-4104, CVE-2021-44228, CVE-2021-45046, CVE-2021-45105

Kans

Kans

Onderstaande tabel geeft in detail aan hoe wij tot de inschatting zijn gekomen hoe groot de kans is dat deze kwetsbaarheid in het doorsnee praktijkgeval kan worden misbruikt. De punten worden bij elkaar geteld.

high
∑ = 37
Is de kwetsbaarheid aanwezig in de standaard configuratie/ installatie? Onduidelijk/Ja 3
Is er exploit-code beschikbaar? Exploit beschikbaar 6
Wordt de kwetsbaarheid in de praktijk gebruikt? Grootschaling waargenomen 3
Zijn er technische details beschikbaar? Ja, volledig 3
Welke toegang is er nodig? Internet 6
Vereiste credentials Geen 4
Hoe moeilijk is het om de kwetsbaarheid uit te buiten? Eenvoudig 3
Is er gebruikers interactie nodig? Geen handelingen 4
Wordt misbruik of een exploit verwacht? Ja binnenkort 3
Is er een oplossing beschikbaar? Korter dan twee maanden 2
Schade

Schade

Onderstaande tabel geeft in detail aan hoe wij tot de inschatting zijn gekomen voor de schade die bij een succesvolle aanval kan ontstaan. De hoogste inschaling bepaalt de totale kans op schade.

De kwetsbaarheid maakt het mogelijk voor een ongeauthenticeerde kwaadwillende op afstand om willekeurige code uit te voeren met de rechten van de applicatie die gebruik maakt van log4j. De impact is volgens ons inschalingsmodel MEDIUM. Echter, de mogelijke gevolgschade kan erg groot zijn, waardoor het NCSC de impact inschaalt op HIGH.

high
Denial of Service Ja, Client
medium
Uitvoeren van willekeurige code Ja, Root/Administrator-rechten
high
Rechten op afstand (remote [root-] shell) Nee
low
Verwerven lokale admin/root-rechten (privilege escalation) Nee
low
Lekken van (gevoelige) informatie Nee
low
  Versie 1.07 22-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
22-12-2021
high
high
NCSC-2021-1052 [1.07] Signed-PGP →
Update

Update

Apache heeft Log4j 2.12.3 voor Java 7 uitgebracht om de kwetsbaarheid met kenmerk CVE-2021-45105 te verhelpen. Deze versie van Log4j is aan dit beveiligingsadvies toegevoegd.

  Versie 1.06 18-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
18-12-2021
high
high
NCSC-2021-1052 [1.06] Signed-PGP →
Update

Update

In Log4j versie 2.0-alpha1 tot en met 2.16.0 is een nieuwe kwetsbaarheid ontdekt. Deze kwetsbaarheid heeft CVE-kenmerk CVE-2021-45105 toegekend gekregen. De kwetsbaarheid stelt een kwaadwillende op afstand in staat om de inhoud van logbestanden beperkt te manipuleren. De inschaling van deze specifieke kwetsbaarheid is HIGH/MEDIUM. Informatie over de kwetsbaarheid, oplossingen en mitigerende maatregelen zijn aan dit beveiligingsadvies toegevoegd. Zie "Beschrijving" en "Mogelijke oplossingen" voor meer informatie.

  Versie 1.05 17-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
17-12-2021
high
high
NCSC-2021-1052 [1.05] Signed-PGP →
Update

Update

Dit beveiligingsadvies is bijgewerkt met de laatste informatie die Apache naar buiten heeft gebracht [1]. Met dit advies willen we de ontwikkelingen rondom de kwetsbaarheden in Log4j verduidelijken en verder handelingsperspectief bieden. We willen specifiek aandacht vragen voor CVE-2021-45046. Het beveiligingsadvies is in zijn geheel opnieuw geschreven om een duidelijk overzicht te bieden van de huidige situatie. Zie "Beschrijving" en "Mogelijke oplossingen" voor meer informatie. Op de volgende pagina is daarnaast aanvullend handelingsperspectief beschikbaar [2].

[1] [Link] [2] [Link]

  Versie 1.04 15-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
15-12-2021
high
high
NCSC-2021-1052 [1.04] Signed-PGP →
Update

Update

De afgelopen dagen stond in dit beveiligingsadvies dat JDK versies 6u211, 7u201, 8u191, 11.0.1 of hoger niet gevoelig zijn voor de aanval middels een LDAP verzoek. Inmiddels is bekend dat dit onjuist is. Het NCSC heeft dit aangepast in dit beveiligingsadvies.

De eerder beschreven mitigerende maatregel lijkt niet in alle gevallen te werken, deze mitgerende maatregel is uit dit advies gehaald.

Volgens de ontwikkelaars van Log4j heeft de update naar Log4j 2.15 een nieuwe kwetsbaarheid blootgelegd met kenmerk CVE-2021-45046. Deze kwetsbaarheid maakt het mogelijk een Denial-of-Service te veroorzaken.

  Versie 1.03 14-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
14-12-2021
high
high
NCSC-2021-1052 [1.03] Signed-PGP →
Update

Update

De ontwikkelaars van Log4j hebben een update uitgebracht. De nieuwe release Log4j 2.16.0 schakelt de JNDI functionaliteit standaard uit. Tevens is de ondersteuning voor "Message lookups" verwijderd. De ontwikkelaars stellen dat het in deze release gaat om hardening-maatregelen. De update is optioneel, maar wordt door de ontwikkelaars van Log4j aangeraden wel uit te voeren.

  Versie 1.02 12-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
12-12-2021
high
high
NCSC-2021-1052 [1.02] Signed-PGP →
Update

Update

Er zullen veel updates volgen voor deze kwetsbaarheid. Om een zo actueel mogelijk beeld te geven van getroffen systemen en beschikbare patches, kiest het NCSC ervoor om een lijst bij te houden op GitHub en dit advies eenmalig te updaten met een verwijzing naar deze lijst. Organisaties worden geadviseerd de lijst op Github regelmatig te controleren op updates relevant voor hun organisatie. Op de Github is naast een lijst van software en patches ook een overzicht van detectiemethodieken te vinden. Het advies blijft ongewijzigd HIGH/HIGH. [Link]

  Versie 1.01 11-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
11-12-2021
high
high
NCSC-2021-1052 [1.01] Signed-PGP →
Update

Update

Inmiddels wordt actief misbruik op significante schaal waargenomen door partners.

Ook wordt door diverse vendors gemeld dat zij deze kwetsbaarheid in onderzoek hebben en waar nodig updates beschikbaar gaan stellen. Het NCSC adviseert om actieve communicatie van vendors waarvan producten in de eigen infrastructuur in gebruik is, in de gaten te houden.

Vooralsnog is geen inzicht te verkrijgen in het totaal aan toepassingen waar een kwetsbare versie van Log4j achter de schermen in gebruik is.

De inschaling van dit beveiligingsadvies blijft onverkort HIGH/HIGH.

  Versie 1.00 10-12-2021 NCSC-2021-1052  
 
high
high
Signed-PGP →  
10-12-2021
high
high
NCSC-2021-1052 [1.00] Signed-PGP →

Vrijwaringsverklaring

Door gebruik van deze security advisory gaat u akkoord met de navolgende voorwaarden. Ondanks dat het NCSC de grootst mogelijke zorg heeft betracht bij de samenstelling van dit beveiligingsadvies, kan het NCSC niet instaan voor de volledigheid, juistheid of (voortdurende) actualiteit van dit beveiligingsadvies. De informatie in dit beveiligingsadvies is uitsluitend bedoeld als algemene informatie voor professionele partijen. Aan de informatie in dit beveiligingsadvies kunnen geen rechten worden ontleend.
Het NCSC en de Staat zijn niet aansprakelijk voor enige schade ten gevolge van het gebruik of de onmogelijkheid van het gebruik van dit beveiligingsadvies, waaronder begrepen schade ten gevolge van de onjuistheid of onvolledigheid van de informatie in dit beveiligingsadvies.
Op dit beveiligingsadvies is Nederlands recht van toepassing. Alle geschillen in verband met en/of voortvloeiend uit dit beveiligingsadvies zullen worden voorgelegd aan de exclusief bevoegde rechter te Den Haag. Deze rechtskeuze geldt tevens voor de voorzieningenrechter in kort geding.