Bregusrwydd yn ld.so OpenBSD

Llwythwr deinamig ld.so., wedi'i gynnwys gydag OpenBSD, efallai, o dan amodau penodol, SUID/SGID- mae rhaglenni'n gadael y newidyn amgylchedd LD_LIBRARY_PATH ac felly'n caniatáu i god trydydd parti gael ei lwytho yng nghyd-destun proses sy'n rhedeg gyda breintiau uwch. Mae clytiau sy'n trwsio'r bregusrwydd ar gael i'w rhyddhau 6.5 и 6.6. Clytiau deuaidd (syspatch) ar gyfer llwyfannau amd64, i386 ac arm64 eisoes yn cael eu cynhyrchu a dylent fod ar gael i'w lawrlwytho erbyn cyhoeddi'r newyddion hwn.

Hanfod y broblem: yn ystod gweithrediad, mae ld.so yn tynnu gwerth y newidyn LD_LIBRARY_PATH o'r amgylchedd yn gyntaf ac, gan ddefnyddio'r ffwythiant _dl_split_path(), yn ei droi'n amrywiaeth o linynnau - llwybrau i gyfeiriaduron. Os daw i'r amlwg yn ddiweddarach bod y broses gyfredol yn cael ei chychwyn gan gais SUID/SGID, yna mae'r arae a grëwyd ac, mewn gwirionedd, y newidyn LD_LIBRARY_PATH yn cael eu clirio. Ar yr un pryd, os yw _dl_split_path() yn rhedeg allan o gof (sy'n anodd oherwydd y terfyn 256 kB penodol ar faint y newidynnau amgylchedd, ond yn ddamcaniaethol bosibl), yna bydd y newidyn _dl_libpath yn derbyn y gwerth NULL, a gwiriadau dilynol o bydd gwerth y newidyn hwn yn gorfodi hepgor yr alwad i _dl_unsetenv ("LD_LIBRARY_PATH").

Darganfuwyd bregusrwydd gan arbenigwyr Qualy's, yn ogystal a sawl a ddatgelwyd yn flaenorol problemau. Nododd yr ymchwilwyr diogelwch a nododd y bregusrwydd pa mor gyflym y cafodd y broblem ei datrys: paratowyd darn a rhyddhawyd diweddariadau o fewn tair awr ar ôl i brosiect OpenBSD dderbyn hysbysiad.

Ychwanegu: Mae rhif wedi'i neilltuo i'r broblem CVE-2019-19726. Wedi'i wneud ar restr bostio oss-security cyhoeddiad swyddogol, gan gynnwys ecsbloetio prototeip yn rhedeg ar bensaernïaeth OpenBSD 6.6, 6.5, 6.2 a 6.1
amd64 ac i386 (gellir addasu'r ecsbloetio ar gyfer pensaernïaeth eraill).
Mae modd manteisio ar y mater yn y gosodiad rhagosodedig ac mae'n caniatáu i ddefnyddiwr lleol difreintiedig weithredu'r cod fel gwraidd trwy amnewidiad llyfrgell wrth redeg y cyfleustodau chpass neu passwd suid. I greu'r amodau cof isel sy'n angenrheidiol ar gyfer gweithredu, gosodwch y terfyn RLIMIT_DATA trwy setrlimit.

Ffynhonnell: opennet.ru

Ychwanegu sylw