Një vulnerabilitet në paketat me OpenSSH në RHEL 9 që lejon ekzekutimin e kodit nga distanca.

Gjatë analizës së cenueshmërisë kritike të zbuluar javën e kaluar në OpenSSH, u identifikua edhe një cenueshmëri tjetër e ngjashme (CVE-2024-6409), që mundëson ekzekutim të kodit në distancë pa kaluar autentikimin. Cenueshmëria e re nuk është aq e rrezikshme sa ajo e mëparshmja, sepse shfaqet pas uljes së privilegjeve në procesin bijë të nisur nga serveri SSH. Cenueshmëria gjendet në paketat openssh të shpërndarjes Red Hat Enterprise Linux 9, të bazuara në versionin OpenSSH 8.7 të publikuar në vitin 2021. Problemi prek gjithashtu paketat për Fedora Linux 36 dhe 37, të bazuara në versionet OpenSSH 8.7 dhe 8.8.

Në thelb, cenueshmëria është e ngjashme me problemin e mëparshëm dhe shkaktohet po ashtu nga një race condition në trajtuesin e ndërprerjes SIGALRM, që lind si pasojë e ekzekutimit të funksioneve që nuk janë projektuar për t'u thirrur në mënyrë asinkrone nga trajtuesit e sinjaleve. Trajtuesi aktivizohet kur skadon afati i përcaktuar nga parametri LoginGraceTime dhe ndërpret ekzekutimin aktual të kodit. Përdorimi në trajtuesin e ndërprerjeve i funksioneve që nuk janë menduar për ekzekutim asinkron, e që përdorin alokim dinamik të memories, si p.sh. syslog(), mund të çojë në dëmtimin e strukturave të brendshme të malloc kur SIGALRM aktivizohet gjatë ekzekutimit të një pjese të caktuar të kodit.

Cenueshmëria e re dallon nga ajo e mëparshmja në faktin se race condition lind për shkak të thirrjes së funksionit cleanup_exit() brenda trajtuesit të sinjalit grace_alarm_handler(). Në bazën kryesore të kodit të OpenSSH, ky funksion mund të përdoret në kod që ekzekutohet në mënyrë asinkrone, por në paketat për RHEL 9 dhe Fedora është aplikuar një patch shtesë që i shton cleanup_exit() një thirrje të funksionit për gjenerimin e ngjarjeve të auditimit, i cili nuk është projektuar për përdorim në trajtuesit e sinjaleve.

Ky patch është përdorur në RHEL 9 dhe shpërndarjet e prejardhura në paketat e bazuara në OpenSSH 8.7p1. Në versionet aktuale të Fedora-s, problemi nuk shfaqet, sepse duke filluar nga Fedora 38 shpërndarja kaloi në një version më të ri të OpenSSH pa ndryshuar cleanup_exit(). Ndryshe nga cenueshmëria e mëparshme, për të bllokuar problemin e ri nuk funksionon zgjidhja alternative e mbrojtjes që bazohet në përdorimin e opsionit «-e» në sshd, i cili çaktivizon dërgimin e logjeve përmes syslog. Megjithatë, për të bllokuar cenueshmërinë mund të vendoset parametri «LoginGraceTime=0» në sshd_config.

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