Vulnerabiliteti në ld.so OpenBSD

Ngarkuesi dinamik ld.so, pjesë e OpenBSD, mund nën kushte të caktuara të SUID/SGID-aplikacioneve të lërë variablin e mjedisit LD_LIBRARY_PATH dhe në këtë mënyrë të lejojë ngarkimin e kodit të jashtëm në kontekstin e procesit që ekzekutohet me privilegje të ngritura. Patch-ët për rregullimin e dobësisë janë në dispozicion për versionet 6.5 dhe 6.6. Patch-ët binarë (syspatch) për platformat amd64, i386 dhe arm64 përfundimisht janë lançuar në prodhim dhe duhet të jenë të disponueshëm për ngarkim në momentin e publikimit të kësaj lajmi.

Thelbi i problemit: gjatë funksionimit ld.so së pari nxjerr nga mjedisi vlerën e variablit LD_LIBRARY_PATH, me ndihmën e funksionit _dl_split_path() e kthen atë në një varg të vijave - rrugëve në katalogje. Nëse më vonë bëhet e qartë se procesi aktual është i lançuar si një aplikacion SUID/SGID, atëherë vargu i krijuar dhe, vetë, variabli LD_LIBRARY_PATH pastruhen. Në këtë rast, nëse gjatë punës _dl_split_path() has në mungesë memorjeje (dhe kjo është e vështirë për shkak të kufizimit të qartë mbi madhësinë e variablave të mjedisit prej 256 kilobajtësh, por teoretikisht e mundshme), atëherë variabli _dl_libpath merr vlerën NULL, dhe kontrolli i mëvonshëm i vlerës së këtij variabli do të detyrojë të kalojë thirrjen _dl_unsetenv(«LD_LIBRARY_PATH»).

Dobësia u zbulua nga specialistët Qualys, ashtu si dhe disa probleme të tjera që u zbuluan më parë. Hulumtuesit e sigurisë që zbuluan dobësinë theksuan shpejtësinë e zgjidhjes së problemit: patch-ët u përgatitën dhe përditësimet u lëshuan brenda tre orëve pas marrjes së njoftimit nga projekti OpenBSD.

Shtesë: Problemit i është caktuar numri CVE-2019-19726. Një njoftim zyrtar u bë në listën e shpërndarjes oss-security , që përfshin një prototip exploiti, që funksionon në OpenBSD 6.6, 6.5, 6.2 dhe 6.1 në arkitekturatamd64 dhe i386 (exploiti 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 të pakualifikuar të ekzekutojë kod me të drejtat root përmes zëvendësimit të bibliotekës gjatë nisjes së mjeteve suid chpass ose passwd. Për të krijuar kushtet e nevojshme për shfrytëzim, përdorimi i mungesës së memorjes është nëpërmjet vendosjes së kufizimit RLIMIT_DATA përmes setrlimit.
Ngarkuesi dinamik ld.so, pjesë e OpenBSD, nën kushte të caktuara mund të

Burimi: opennet.ru

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