Avatud lĂ€htekoodiga MyBB foorumite loomise sĂŒsteemis on tuvastatud mitmeid haavatavusi, mis koos vĂ”imaldavad PHP koodi kĂ€ivitamist serveris. Probleemid ilmnevad versioonides 1.8.16 kuni 1.8.25 ja on kĂ”rvaldatud MyBB 1.8.26 vĂ€rskenduses.
Esimene haavatavus (CVE-2021-27889) võimaldab mitteametlikul foorumi liikmel sisestada JavaScripti koodi postitustesse, aruteludesse ja privaatsetesse sõnumitesse. Foorum lubab piltide, loendite ja multimeedia andmete lisamist spetsiaalsete siltide abil, mis muudetakse HTML-i märgendiks. Koodi vigade tõttu selliste siltide konverteerimisel, konstruktsioon koos kahekordse URL-iga [img]http://xyzsomething.com/image?)http://x.com/onerror=alert(1);//[/img] muudetakse <img src="»http://xyzsomething.com/image?)<a" href="»" http:="»»" x.com="»»" onerror="»alert(1);//"»" target="»_blank»" rel="»noopener»" class="»mycode_url»">
Teine haavatavus (CVE-2021-27890) vĂ”imaldab SQL kĂ€skude sisestamist ja oma koodi kĂ€ivitamist. Probleem tuleneb $theme[âtemplatesetâ] sisestamisest SQL-pĂ€ringu kehas ilma nĂ”uetekohase puhastamiseta ja komponentide ${âŠ} kĂ€itamisest eval kĂ€su kaudu. NĂ€iteks saab korraldada PHP kĂ€su passthru(âlsâ) kĂ€ivitamise teema töötlemisel konstruktsiooniga: <templateset>â) AND 1=0 UNION SELECT title, â${passthru(\âls\â)}â from mybb_templates â </templateset>
Teise haavatavuse Ă€rakasutamiseks on vajalik foorumi administraatori Ă”igustega sessioon. Administraatori Ă”igustega pĂ€ringu saatmiseks saab rĂŒndaja kasutada esimest haavatavust ja saata administraatorile privaatse sĂ”numi JavaScript-koodiga, mille vaatamisel saab teise haavatavuse Ă€ra kasutada.
Allikas: opennet.ru
