Mezitím byla v log4j nalezena další zranitelnost a oprava vydána ve verzi 2.17 https://issues.apache.org/jira/browse/LOG4J2-3230
A zaplaty na Log4j vychazeji rychleji, nez se o tom staci psat... :-)
https://nvd.nist.gov/vuln/detail/CVE-2021-45105
Apache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a crafted string is interpreted. This issue was fixed in Log4j 2.17.0 and 2.12.3.
Poslední dobou nedá správcům, ale ani útočníkům spát zranitelnost objevená v Log4j, což je logovací framework, který používá Java.
To je externí knihovna napsaná v Javě, určená pro aplikace napsané v Javě a používá ji ten, kdo se ji rozhodl používat. Ne Java.
Oprava byla vydána rychle ale Java je obsažená téměř všude a nebude jednoduché aktualizovat veškerá zranitelná zařízení.
Neštěstí jen na zlomku všech těch zařízení se používá Log4j 2.
Mnoho už bylo napsáno...
Zřejmě ne dost na to, aby to aspoň v Postřezích nebylo blbě.
Pravda je někde mezi vámi a autorem.
Samotné JDK/JRE ("Java") ji samozřejmě nepoužívá. Ale není ani pravda, že ji používá jen ten, kdo ji používat chce. Na tyhle úžasný logovací tooly snadno získáte závislost přes nějakou další knihovnu, kterou se rozhodnete používat. Mezi javisty a nejen tam je bohužel široce zakořeněný zlozvyk používat knihovny třetích stran, jako by to bylo součást samotného jazyka a to i v případě autorů knihoven. A ještě si myslí, že je to takhle správně. Někdy to má smysl. Někdy kvůli jedné nebo dvěma metodám na pár řádků získáte závislost na molochu.
Já jsem třeba nedávno použil knihovnu na přístup ke kryptoburzám a nestačil jsem se divit, co mi všechno maven/gradle dotáhnul za dárečky.
Závislost zrovna na implementaci logování obvykle nedotáhnete přes jinou závislost, protože jiné knihovny závisí na logovacím API a implementaci dodává až autor aplikace. Zrovna u logovacích knihoven v Javě se tohle ve většině případů dodržuje – kéž by to tak bylo i v jiných případech.
Označovat používání knihoven třetích stran za zlozvyk je opravdu pozoruhodné. Myslel jsem, že tyhle debaty o tom, že nejlepší je napsat si všechno sám, už byly ukončené někdy v minulém tisíciletí.
Reagujete na příspěvek aniž byste si ho pořádně přečetl.
Není zlozvyk přidat závislost na nějaké knihovně, pokud třeba potřebujete z javy se někam přihlásit přes ssh, tohle si chce psát ručně málokdo. Je zlozvyk přidat závislost na nějaké knihovně, pokud od ní chcete dvě metody, obě na tři řádky. Je to ještě větší zlozvyk, pokud tuto závislost přidáváte do knihovny. Je zlozvyk přidávat závislosti na knihovnách tak lehce, jak snadno se přidává pár řádků do pom.xml. Přidání knihovny = a) buď sleduji už napořád bezpečnost knihovny samotné a celého jejího stromu závislostí, což je docela práce a nebo b) kašlu na bezpečnost.
Je zlozvyk přidat závislost na nějaké knihovně, pokud od ní chcete dvě metody, obě na tři řádky.
Nenazýval bych zlozvykem něco, co se v praxi neděje. A i kdyby se to někdy výjimečně dělo, nevím, proč o tom píšete v souvislosti s logovací knihovnou, což rozhodně nejsou dvě metody na tři řádky. (Čímž rozhodně neobhajuju Log4j 2.)