Java ലൈബ്രറി Log4j-ലെ കുപ്രസിദ്ധമായ കേടുപാടുകൾക്കുള്ള എമർജൻസി പാച്ച് ഫൂൾ പ്രൂഫ് അല്ല. അപ്പാച്ചെ സോഫ്റ്റ്വെയർ ഫൗണ്ടേഷൻ ഒരിക്കൽ എന്നെന്നേക്കുമായി അപകടസാധ്യത പരിഹരിക്കുന്നതിനായി ഒരു പുതിയ പതിപ്പ് പുറത്തിറക്കുന്നു.
ജാവയ്ക്കായുള്ള ജനപ്രിയമായ ഒരു ലൈബ്രറിയിലെ ഒരു അപകടസാധ്യത ആഗോള ഐടി ലാൻഡ്സ്കേപ്പിനെ ഇളക്കിമറിക്കുന്നു. മിക്ക കോർപ്പറേറ്റ് പരിതസ്ഥിതികളിലും ലൈബ്രറി നിലവിലുണ്ടെന്ന് കണക്കാക്കപ്പെടുന്നു.
Log4j പ്രധാനമായും ഉപയോഗിക്കുന്നത് ലോഗിംഗിനാണ്. ആപ്ലിക്കേഷനുകളിലെ ഇവന്റുകൾ കുറിപ്പുകൾ ഉപയോഗിച്ച് രജിസ്റ്റർ ചെയ്യാം. ഒരു ലോഗിൻ ശ്രമത്തിന് ശേഷം ലോഗിൻ വിശദാംശങ്ങളുടെ പ്രിന്റൗട്ടിനെക്കുറിച്ച് ചിന്തിക്കുക. അല്ലെങ്കിൽ, ജാവയിലെ ഒരു വെബ് ആപ്ലിക്കേഷന്റെ കാര്യത്തിൽ, ഒരു ഉപയോക്താവ് ബന്ധിപ്പിക്കാൻ ശ്രമിക്കുന്ന ബ്രൗസറിന്റെ പേര്.
പിന്നീടുള്ള ഉദാഹരണങ്ങൾ സാധാരണമാണ്. രണ്ട് സാഹചര്യങ്ങളിലും, ഒരു ബാഹ്യ ഉപയോക്താവ് Log4j ഔട്ട്പുട്ട് നൽകുന്ന ലോഗിനെ സ്വാധീനിക്കുന്നു. ആ സ്വാധീനം ദുരുപയോഗം ചെയ്യാൻ സാധ്യതയുണ്ട്. 4 സെപ്റ്റംബർ 13-നും 2013 ഡിസംബർ 5-നും ഇടയിലുള്ള ഏതൊരു Log2021j പതിപ്പിന്റെയും ലോഗുകൾക്ക് ഒരു പ്രാദേശിക ഉപകരണത്തിൽ ഒരു റിമോട്ട് സെർവറിൽ നിന്ന് കോഡ് പ്രവർത്തിപ്പിക്കാൻ Java ആപ്ലിക്കേഷനുകൾക്ക് നിർദ്ദേശം നൽകാൻ കഴിയും.
2013 മുതൽ, Log4j ഒരു API പ്രോസസ്സ് ചെയ്യുന്നു: JNDI, അല്ലെങ്കിൽ ജാവ നാമകരണവും ഡയറക്ടറി ഇന്റർഫേസും. ജെഎൻഡിഐ ചേർക്കുന്നത് ഒരു പ്രാദേശിക ഉപകരണത്തിൽ വിദൂര സെർവറിൽ നിന്ന് കോഡ് പ്രവർത്തിപ്പിക്കാൻ ജാവ ആപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. പ്രോഗ്രാമർമാർ ഒരു ആപ്ലിക്കേഷനിൽ റിമോട്ട് സെർവറിനെ കുറിച്ചുള്ള വിശദാംശങ്ങളുടെ ഒരു വരി ചേർത്തുകൊണ്ട് നിർദ്ദേശിക്കുന്നു.
പ്രോഗ്രാമർമാർക്ക് മാത്രമല്ല ആപ്ലിക്കേഷനുകളിൽ നിയമം ചേർക്കാൻ കഴിയുന്നത് എന്നതാണ് പ്രശ്നം. ലോഗിൻ ശ്രമങ്ങളുടെ ഉപയോക്തൃനാമങ്ങൾ Log4j ലോഗ് ചെയ്യുന്നു എന്ന് കരുതുക. ഉപയോക്തൃനാമ ഫീൽഡിൽ ആരെങ്കിലും മുകളിൽ പറഞ്ഞ വരിയിൽ പ്രവേശിക്കുമ്പോൾ, Log4j ലൈൻ പ്രവർത്തിപ്പിക്കുകയും ജാവ ആപ്ലിക്കേഷൻ നിർദ്ദിഷ്ട സെർവറിൽ കോഡ് പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ഒരു കമാൻഡ് വ്യാഖ്യാനിക്കുകയും ചെയ്യുന്നു. Log4j ഒരു HTTPS അഭ്യർത്ഥന ലോഗ് ചെയ്യുന്ന കേസുകൾക്കും ഇത് ബാധകമാണ്. നിങ്ങൾ ഒരു ബ്രൗസറിന്റെ പേര് ലൈനിലേക്ക് മാറ്റുകയാണെങ്കിൽ, Log4j ലൈൻ പ്രവർത്തിപ്പിക്കുന്നു, ആവശ്യാനുസരണം കോഡ് പ്രവർത്തിപ്പിക്കാൻ പരോക്ഷമായി നിർദ്ദേശിക്കുന്നു.
എമർജൻസി പാച്ചും സുരക്ഷിതമല്ലായിരിക്കാം
ഡിസംബർ 9 ന്, അപകടസാധ്യത വൻതോതിൽ വെളിപ്പെട്ടു. Log4j-ന്റെ ഡെവലപ്പറായ Apache Software Foundation, അപകടസാധ്യത പരിഹരിക്കുന്നതിനായി ഒരു എമർജൻസി പാച്ച് (2.15) പുറത്തിറക്കി. അതിനുശേഷം, സോഫ്റ്റ്വെയർ വെണ്ടർമാർ പതിപ്പ് 2.15 പ്രോസസ്സ് ചെയ്യുന്നതിനും ഓർഗനൈസേഷനുകൾക്കായി ഒരു പാച്ച് നൽകുന്നതിനും മുൻഗണന നൽകിയിട്ടുണ്ട്.
എന്നിരുന്നാലും, ഈ പാച്ച് പൂർണ്ണമായും വെള്ളം കയറാത്തതല്ലെന്ന് സുരക്ഷാ സംഘടനയായ LunaSec പറയുന്നു. ഒരു ക്രമീകരണം ക്രമീകരിക്കാനും ലോഗ് ചെയ്ത JNDI കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യാനും സാധ്യമാണ്.
ദയവായി ശ്രദ്ധിക്കുക: പ്രസക്തമായ ക്രമീകരണം സ്വമേധയാ ക്രമീകരിക്കണം, അതുവഴി 2.15 ന്റെ പരിഷ്ക്കരിക്കാത്ത വേരിയന്റുകൾ തീർച്ചയായും സുരക്ഷിതമാണ്. എന്നിരുന്നാലും, വിതരണക്കാരും ഓർഗനൈസേഷനുകളും Log4j 2.16-ലേക്ക് അപ്ഡേറ്റ് ചെയ്യാൻ Luna Sec ശുപാർശ ചെയ്യുന്നു. LunaSec-ന് മറുപടിയായി അപ്പാച്ചെ സോഫ്റ്റ്വെയർ ഫൗണ്ടേഷനാണ് 2.16 പ്രസിദ്ധീകരിച്ചത്. പുതിയ പതിപ്പ് ദുർബലമായ ക്രമീകരണം പൂർണ്ണമായും നീക്കംചെയ്യുന്നു, ദുരുപയോഗത്തിനുള്ള സാഹചര്യങ്ങൾ സൃഷ്ടിക്കുന്നത് അസാധ്യമാക്കുന്നു.