FixVibe
Covered by FixVibehigh

ടെംപ്ലേറ്റ് ടാഗുകൾ (CVE-2016-7998) വഴി SPIP-ൽ റിമോട്ട് കോഡ് നിർവ്വഹണം

SPIP പതിപ്പുകൾ 3.1.2-ലും അതിനുമുമ്പും ടെംപ്ലേറ്റ് കമ്പോസറിൽ ഒരു അപകടസാധ്യത അടങ്ങിയിരിക്കുന്നു. സെർവറിൽ അനിയന്ത്രിതമായ PHP കോഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി ആധികാരിക ആക്രമണകാരികൾക്ക് ക്രാഫ്റ്റ് ചെയ്ത INCLUDE അല്ലെങ്കിൽ INCLURE ടാഗുകൾ ഉപയോഗിച്ച് HTML ഫയലുകൾ അപ്‌ലോഡ് ചെയ്യാൻ കഴിയും.

CVE-2016-7998CWE-20

ആഘാതം

ഒരു അംഗീകൃത ആക്രമണകാരിക്ക് അണ്ടർലയിങ്ങ് വെബ് സെർവറിൽ [S1]-ൽ അനിയന്ത്രിതമായ PHP കോഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും. ഡാറ്റാ എക്‌സ്‌ഫിൽട്രേഷൻ, സൈറ്റ് ഉള്ളടക്കത്തിൻ്റെ പരിഷ്‌ക്കരണം, ഹോസ്റ്റിംഗ് പരിതസ്ഥിതിയിൽ [S1] എന്നിവയ്‌ക്കുള്ളിലെ ലാറ്ററൽ ചലനം എന്നിവ ഉൾപ്പെടെ പൂർണ്ണമായ സിസ്റ്റം വിട്ടുവീഴ്ചയ്‌ക്ക് ഇത് അനുവദിക്കുന്നു.

മൂലകാരണം

SPIP ടെംപ്ലേറ്റ് കമ്പോസർ, കംപൈലർ ഘടകങ്ങൾ [S1] എന്നിവയിൽ ഈ അപകടസാധ്യത നിലവിലുണ്ട്. അപ്‌ലോഡ് ചെയ്ത ഫയലുകൾ [S1] പ്രോസസ്സ് ചെയ്യുമ്പോൾ നിർദ്ദിഷ്ട ടെംപ്ലേറ്റ് ടാഗുകൾക്കുള്ളിൽ ഇൻപുട്ട് ശരിയായി സാധൂകരിക്കാനോ സാനിറ്റൈസ് ചെയ്യാനോ സിസ്റ്റം പരാജയപ്പെടുന്നു. പ്രത്യേകമായി, HTML ഫയലുകൾക്കുള്ളിലെ INCLUDE അല്ലെങ്കിൽ INCLURE ടാഗുകൾ കംപൈലർ തെറ്റായി കൈകാര്യം ചെയ്യുന്നു [S1]. valider_xml പ്രവർത്തനത്തിലൂടെ ഒരു ആക്രമണകാരി ഈ അപ്‌ലോഡ് ചെയ്ത ഫയലുകൾ ആക്‌സസ് ചെയ്യുമ്പോൾ, ക്ഷുദ്രകരമായ ടാഗുകൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു, ഇത് PHP കോഡ് എക്‌സിക്യൂഷനിലേക്ക് നയിക്കുന്നു [S1].

ബാധിച്ച പതിപ്പുകൾ

  • SPIP പതിപ്പുകൾ 3.1.2 കൂടാതെ എല്ലാ മുൻ പതിപ്പുകളും [S1].

പ്രതിവിധി

[S1] ഈ അപകടസാധ്യത പരിഹരിക്കുന്നതിന് 3.1.2-നേക്കാൾ പുതിയ പതിപ്പിലേക്ക് SPIP അപ്‌ഡേറ്റ് ചെയ്യുക. ഫയൽ അപ്‌ലോഡ് അനുമതികൾ വിശ്വസനീയമായ അഡ്മിനിസ്‌ട്രേറ്റീവ് ഉപയോക്താക്കൾക്ക് മാത്രമായി പരിമിതപ്പെടുത്തിയിട്ടുണ്ടെന്നും അപ്‌ലോഡ് ചെയ്ത ഫയലുകൾ വെബ് സെർവറിന് [S1] സ്‌ക്രിപ്‌റ്റുകളായി എക്‌സിക്യൂട്ട് ചെയ്യാൻ കഴിയുന്ന ഡയറക്‌ടറികളിൽ സൂക്ഷിക്കുന്നില്ലെന്നും ഉറപ്പാക്കുക.

എങ്ങനെയാണ് FixVibe അതിനായി പരീക്ഷിക്കുന്നത്

FixVibe രണ്ട് പ്രാഥമിക രീതികളിലൂടെ ഈ അപകടസാധ്യത കണ്ടെത്താനാകും:

  • നിഷ്‌ക്രിയ വിരലടയാളം: HTML ഉറവിടത്തിലെ HTTP പ്രതികരണ തലക്കെട്ടുകളോ നിർദ്ദിഷ്ട മെറ്റാ ടാഗുകളോ വിശകലനം ചെയ്യുന്നതിലൂടെ, FixVibe-ന് SPIP [S1]-യുടെ പ്രവർത്തിക്കുന്ന പതിപ്പ് തിരിച്ചറിയാൻ കഴിയും. പതിപ്പ് 3.1.2 അല്ലെങ്കിൽ അതിൽ താഴെയാണെങ്കിൽ, അത് ഉയർന്ന തീവ്രതയുള്ള അലേർട്ട് [S1] ട്രിഗർ ചെയ്യും.
  • റിപ്പോസിറ്ററി സ്കാനിംഗ്: അവരുടെ GitHub റിപ്പോസിറ്ററികൾ കണക്ട് ചെയ്യുന്ന ഉപയോക്താക്കൾക്ക്, FixVibe യുടെ റിപ്പോ സ്കാനറിന് SPIP സോഴ്സ് കോഡിലെ ഡിപൻഡൻസി ഫയലുകളോ പതിപ്പ് നിർവചിക്കുന്ന കോൺസ്റ്റൻ്റുകളോ പരിശോധിക്കാൻ കഴിയും.