SQLite'i haavatavus, mis võimaldab Chrome'i kaugseks ründamiseks läbi WebSQL

Kaitseuurijad Hiina ettevõttest Tencent tutvustanud uus versioon haavatavusest Magellan (CVE-2019-13734), mis võimaldab koodi täitmist, kui eraldi vormindatud SQL-konstruktsioone töödeldakse SQLite andmebaasihalduris. Sarnane haavatavus ilmus on avaldatud sama uurijate poolt aastaga tagasi. Haavatavus on märkimisväärne, kuna see võimaldab kauglöökide tegemist Chrome brauserile ja seadme täielikku ülevõtmist pahatahtliku veebilehe avamise kaudu.

Chrome'i/Chromium'i rünnak toimub läbi WebSQL API, mille töötleja põhineb SQLite koodil. Muudes rakendustes on rünnak võimalik vaid juhul, kui need võimaldavad SQL-konstruktsioonide edastamist SQLite'sse väljastpoolt, näiteks kasutades SQLite't andmevahetuse formaadina. Firefox ei ole haavatav, kuna Mozilla keeldusid ei ole rakendanud WebSQL eelisteks IndexedDB API-le.

Google lahendas probleemi väljaandes Chrome 79. SQLite koodipõhjas oli probleem parandatud 17. novembril, samas kui Chromiumi koodipõhjas — 21. novembril..
Probleem esineb koodis FTS3 täistekstiotsingu mootoris ja varjatud tabelitega (shadow tables), mis on eriline sort virtuaaltabelitest, millel on kirjutamisvõime, võib põhjustada indeksi kahjustamist ja puhverülevoolu. Tehnikate üksikasjad avaldatakse 90 päeva jooksul.

Uut SQLite väljaannet koos parandusega ei ole veel formeeritud (oodatav 31. detsembril). Kaitseks võib alates SQLite 3.26.0-st kasutada režiimi SQLITE_DBCONFIG_DEFENSIVE, mis tõkestab kirjutamise varjatud tabelitesse ja on soovitatav lubada väliste SQL-päringute töötlemisel SQLite's. Haavatavus SQLite teeki jagamistes jääb endiselt lahendamata Debian, Ubuntu, RHEL, openSUSE/SUSE, Arch Linuxis, Fedora, FreeBSD. Chromium on kõikides jagamistes juba uuendatud ja ei ole haavatav, kuid probleem võib ulatuda erinevatesse kolmandate osapoolte brauseritesse ja rakendustesse, mis kasutavad Chromiumi mootorit, samuti Android-rakendustesse, mis põhinevad Webview-l.

Lisaks on SQLite-s tuvastatud veel 4 vähem ohtlikku probleemi (CVE-2019-13750, CVE-2019-13751, CVE-2019-13752, CVE-2019-13753), mis võivad põhjustada teabe leket ja piirangutest möödumist (vaid kasutada kaasnevate teguritena Chrome'i rünnakuks). Need probleemid on lahendatud SQLite koodis 13. detsembril. Kokkuvõttes andsid probleemid uurijatele võimaluse koostada töötav eksploit, mis võimaldab koodi täitmist Chromiumi protsessi kontekstis, mis vastutab renderdamise eest.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster