Dobësia në ld.so për OpenBSD

Ngarkues i dinamikë ld.so, i përfshirë në OpenBSD, nën disa kushte mund të SUID/SGID-aplikacioneve të lëshojnë ndryshoren e mjedisit LD_LIBRARY_PATH dhe kështu të lejojnë ngarkimin e kodit të tretë në kontekstin e procesit që ekzekutohet me privilegje të rritura. Patch-et për qëndrim të dobësisë janë në dispozicion për lëshimet 6.5 dhe 6.6. Patch-et binarë (syspatch) për platformat amd64, i386 dhe arm64 tashmë janë lançuar në prodhim dhe duhet të jenë në dispozicion për ngarkim në momentin e publikimit të kësaj lajmërimi.

Thelbi i problemit: gjatĂ« punĂ«s ld.so fillimisht nxjerr nga mjedisi vlerĂ«n e ndryshores LD_LIBRARY_PATH, me ndihmĂ«n e funksionit _dl_split_path() e kthen atĂ« nĂ« njĂ« array fjalĂ«sh — rrugĂ« pĂ«r katalogĂ«t. NĂ«se mĂ« vonĂ« zbulon se procesi aktual Ă«shtĂ« nisur nga njĂ« aplikacion SUID/SGID, atĂ«herĂ« array-i i krijuar dhe, konkretisht, ndryshorja LD_LIBRARY_PATH pastrohen. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, nĂ«se gjatĂ« punĂ«s _dl_split_path() ndesh mungesĂ« memorjeje (çka Ă«shtĂ« e vĂ«shtirĂ« pĂ«r shkak tĂ« kufizimit tĂ« qartĂ« mbi madhĂ«sinĂ« e ndryshoreve tĂ« mjedisit prej 256 kilobajtĂ«ve, por teoretikisht e mundshme), atĂ«herĂ« ndryshorja _dl_libpath do tĂ« marrĂ« vlerĂ«n NULL, dhe verifikimi i mĂ«vonshĂ«m i vlerĂ«s sĂ« kĂ«saj ndryshoreje do tĂ« detyrojĂ« tĂ« anashkalojĂ« thirrjen e _dl_unsetenv(«LD_LIBRARY_PATH»).

Dobësia është zbuluar nga specialistët Qualys, po ashtu si dhe disa probleme të zbuluara më herët. Hulumtuesit e sigurisë që zbuluan dobësinë theksuan shpejtësinë e zgjidhjes së problemit: patch-i u përgatit, dhe përditësimet u publikuan brenda tre orëve pas marrjes së njoftimit nga projekti OpenBSD.

Shtesë: Problemit i është caktuar numri CVE-2019-19726. Në listën e postës oss-security është bërë në një njoftim të zyrtarizuar, duke përfshirë një prototip eksploitimi që funksionon në OpenBSD 6.6, 6.5, 6.2 dhe 6.1 në arkitekturën
amd64 dhe i386 (eksploitimi mund të adaptohet edhe për arkitektura të tjera).
Problemi është i shfrytëzueshëm në instalimin e parazgjedhur dhe lejon një përdorues lokal jo-privilegjuar të ekzekutojë kod me të drejta root përmes nënvendosjes së bibliotekës gjatë ekzekutimit të mjeteve suid chpass ose passwd. Për të krijuar kushtet e nevojshme për shfrytëzim të mungesës së memorjes përdoret vendosja e kufizimit RLIMIT_DATA përmes setrlimit.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster