Dobësitë në AppArmor, që lejojnë marrjen e qasjeve root në sistem

Kompania Qualys zbuloi 9 dobësi në sistemin e menaxhimit të aksesit obligativ AppArmor, ku dobësitë më të rrezikshme lejojnë një përdorues lokal pa privilegje të fitojë të drejtën root në sistem, të dalë nga konteinerët e izoluar dhe të anashkalojë kufizimet e vendosura përmes AppArmor. Dobësitë morën emrin kodor CrackArmor. Identifikuesit CVE akoma nuk janë caktuar. Shembujt e suksesshëm të rritjes së privilegjeve janë demonstruar në Ubuntu 24.04 dhe Debian 13.

Problemet janë të pranishme në modulit LSM të AppArmor që nga bërthamë Linux 4.11, e publikuar në vitin 2017, dhe paraqiten në shpërndarjet që përdorin AppArmor, të tilla si Ubuntu, Debian, openSUSE dhe SUSE (nga openSUSE/SUSE 16, SELinux është aktivizuar si standard, por AppArmor është lënë si opsion). Patch-ët për rregullimin e dobësive janë dërguar zhvilluesve të bërthamor të Linux dhe në ditët në vijim do t'u ofrohen përdoruesve si pjesë e përditësimeve 6.18.18, 6.19.8, 6.12.77, 6.6.130, 6.1.167, 5.15.203 dhe 5.10.253. Rregullimi gjithashtu është përfshirë në përditësimet e sotme të paketave të bërthamës për Ubuntu. Përveç kësaj, në Ubuntu janë lëshuar përditësime për paketat sudo, sudo-ldap dhe util-linux (në përfshihet utilita su), ku janë rregulluar mangësitë që lejonin shfrytëzimin e dobësisë në AppArmor. Në Debian, përditësimi është duke u përgatitur.

Problemet janë shkaktuar nga prania në AppArmor e një dobësie themelore të klasës 'kandidati i mashtruar' ('confused-deputy'), e cila lejon përdoruesit pa privilegje të ngarkojnë, zëvendësojnë dhe fshijnë profile të arbtitra AppArmor. Kjo dobësi mund të përdoret drejtpërdrejt për të çaktivizuar mbrojtjen e programeve dhe shërbimeve nga sulmet lokale dhe të largëta (nëpërmjet shkruarjes së pseudofileve /sys/kernel/security/apparmor/.load, .replace dhe .remove, për shembull, për të hequr kufizimet në cupsd dhe rsyslogd), për të shkaktuar një ndërprerje të shërbimit (nëpërmjet aplikimit të profileve ndaluese) dhe për të anashkaluar kufizimet e hapësirave të emrave (nëpërmjet ngarkimit të një profili të ri AppArmor 'userns', për shembull, për /usr/bin/time, duke lejuar krijimin e hapësirave të emrave pa kufij).

Mundësia për të ndryshuar profilin e AppArmor gjithashtu lejon marrjen e privilegjeve root nëpërmjet lidhjes me utilitetet me privilegje, si su dhe sudo, profilesh të reja që bllokojnë qasjen në disa thirrje sistemore. Në veçanti, të drejtat root mund të merren duke bllokuar operacionin setuid (CAP_SETUID) për utilitetin sudo në kombinim me manipulimin e variablit të ambientit MAIL_CONFIG për të ndryshuar katalogun me konfigurimet për postën. serverë Postfix.

Thelbi i metodës është se, kur ndodhin probleme, utiliteti sudo i dërgon administratorit një mesazh, duke nisur /usr/sbin/sendmail. Duke bllokuar rikthimin e privilegjeve, është e mundur të arrihet ekzekutimi i këtij procesi me të drejtat root, dhe duke vendosur para nisjes së sudo variablin e ambientit MAIL_CONFIG, është e mundur të kaloni konfigurime të tjera për utilitetin sendmail, përfshirë caktimin e përpunuesit tuaj postdrop, i cili niset kur dërgohet posta. $ mkdir /tmp/postfix $ cat > /tmp/postfix/main.cf < /tmp/postfix/postdrop <> /tmp/postfix/pwned EOF $ chmod -R 0755 /tmp/postfix $ apparmor_parser -K -o sudo.pf < /sys/kernel/security/apparmor/.replace Fjalëkalimi: $ env -i MAIL_CONFIG=/tmp/postfix /usr/bin/sudo whatever sudo: PERM_SUDOERS: setresuid(-1, 1, -1): Operacioni nuk lejohet sudo: e pamundur të hapet /etc/sudoers: Operacioni nuk lejohet sudo: setresuid() [0, 0, 0] -> [1001, -1, -1]: Operacioni nuk lejohet sudo: gabim në fillimin e plogës audit sudoers_audit $ cat /tmp/postfix/pwned uid=0(root) gid=1001(jane) grupos=1001(jane),100(users)

Si mënyra të tjera për rritjen e privilegjeve përmenden dobësitë në kodin e AppArmor, i cili funksionon në nivelin e bërthamës Linux. Tregohet si të merrni të drejtat root me anë të dobësive të shkaktuara nga ekzekutimi i dyfishte i funksionit free() dhe referimi në një hapësirë pune tashmë të liruar (use-after-free) në kodin e ngarkimit dhe zëvendësimit të profileve të AppArmor. Për shembull, AppArmor ruan profilin në strukturën aa_loaddata, memoria për të cilën ndahet në slab-cache kmalloc-192, dhe, për shkak të gjendjes së garës, nuk është e përjashtuar qasja në memorien që zinte struktura, pasi është liruar. Kjo problematikë mund të përdoret për të marrë kontroll mbi memorien e liruar dhe për të riparëditur faqen e liruar të memories për të mapuar përmbajtjen e skedarit /etc/passwd dhe për të shkruar sërish rreshtin me fjalëkalimin root.

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