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
