Pagkahuyang sa ld.so OpenBSD

Dinamikong loader ld.so, gilakip sa OpenBSD, mahimo, ubos sa pipila ka mga kondisyon, SUID/SGID- Ang mga aplikasyon mobiya sa LD_LIBRARY_PATH environment variable ug sa ingon tugotan ang third-party code nga makarga sa konteksto sa usa ka proseso nga nagdagan nga adunay taas nga mga pribilehiyo. Ang mga patch nga nag-ayo sa pagkahuyang magamit alang sa mga pagpagawas 6.5 и 6.6. Binary nga mga patch (syspatch) para sa amd64, i386 ug arm64 nga mga plataporma anaa na sa produksiyon ug kinahanglang magamit na aron ma-download sa panahon nga kini nga balita mamantala.

Ang esensya sa problema: sa panahon sa operasyon, ld.so una nga gikuha ang kantidad sa LD_LIBRARY_PATH variable gikan sa palibot ug, gamit ang _dl_split_path() function, nahimo kini nga usa ka han-ay sa mga kuldas - mga agianan sa mga direktoryo. Kung kini sa ulahi nahimo nga ang karon nga proseso gisugdan sa usa ka aplikasyon sa SUID / SGID, nan ang gihimo nga array ug, sa tinuud, ang variable nga LD_LIBRARY_PATH natangtang. Sa parehas nga oras, kung ang _dl_split_path() nahutdan sa memorya (nga lisud tungod sa klaro nga 256 kB nga limitasyon sa gidak-on sa mga variable sa palibot, apan posible sa teorya), nan ang _dl_libpath variable makadawat sa kantidad nga NULL, ug ang mga sunod nga pagsusi sa ang bili niini nga variable mopugos sa paglaktaw sa tawag ngadto sa _dl_unsetenv("LD_LIBRARY_PATH").

Ang pagkahuyang nakit-an sa mga eksperto Kwalipikado, ingon man ubay-ubay nga gipadayag kaniadto mga problema. Ang mga tigdukiduki sa seguridad nga nag-ila sa kahuyang nakamatikod kung unsa kadali ang problema nasulbad: ang usa ka patch giandam ug ang mga update gipagawas sa sulod sa tulo ka oras pagkahuman ang proyekto sa OpenBSD nakadawat pahibalo.

Dugang: Ang problema gihatagan ug numero CVE-2019-19726. Gihimo sa oss-security mailing list opisyal nga pahibalo, lakip ang usa ka prototype nga pagpahimulos nga nagdagan sa OpenBSD 6.6, 6.5, 6.2 ug 6.1 nga mga arkitektura
amd64 ug i386 (ang pagpahimulos mahimong ipahiangay alang sa ubang mga arkitektura).
Ang isyu mapahimuslan sa default nga pag-instalar ug nagtugot sa usa ka walay pribilehiyo nga lokal nga tiggamit sa pagpatuman sa code isip gamut pinaagi sa pagpuli sa librarya sa dihang nagpadagan sa chpass o passwd suid utilities. Aron mahimo ang ubos nga memorya nga mga kondisyon nga gikinahanglan alang sa operasyon, itakda ang RLIMIT_DATA nga limitasyon pinaagi sa setrlimit.

Source: opennet.ru

Idugang sa usa ka comment