O vulnerabilitate ssh-keysign-pwn a fost închisă în Linux, permițând utilizatorilor locali să citească fișierele root.

O vulnerabilitate a fost corectată în nucleul Linux, având un nume neoficial. ssh-keysign-pwn. Problema permite unui utilizator local fără privilegii să citească fișiere care ar trebui să fie accesibile doar lui root, inclusiv cheile private SSH host și, în anumite scenarii, /etc/shadow. La momentul publicării, un CVE separat pentru problemă nu fusese încă atribuit.

În ciuda numelui, nu este vorba despre o eroare în OpenSSH ca server de rețea sshd, ci despre un defect în logica nucleului Linux, legat de verificările ptrace și accesul la descriptorii de fișiere ai altui proces prin pidfd_getfd(2). Instrumentul ssh-keysign OpenSSH s-a dovedit a fi unul dintre exemplele convenabile de exploatare, deoarece lucrează cu cheile private host, care de obicei aparțin lui root și nu sunt accesibile utilizatorilor obișnuiți.

Esenta erorii constă în faptul că funcția __ptrace_may_access() trata incorect starea unui proces, al cărui spațiu de memorie mm a dispărut deja, dar care încă avea descriptorii de fișiere deschiși. În timpul încheierii procesului, nucleul apelează exit_mm() mai devreme decât închide fișierele prin exit_files(). În acest interval scurt, procesul pare să nu mai aibă un spațiu de adresă de utilizator obișnuit, dar fișierele sale deschise există încă. Din această cauză, verificarea stării „dumpable” putea fi ocolită, iar pidfd_getfd() putea obține acces la un descriptor de fișier străin cu UID coincident.

Un scenariu practic se bazează pe programe setuid, care mai întâi deschid un fișier sensibil cu privilegii root, apoi își pierd privilegiile și se încheie, având în continuare un descriptor deschis. În descrierea publicată, ca exemplu este menționat ssh-keysign: acesta deschide /etc/ssh/ssh_host_{ecdsa,ed25519,rsa}_key, după care își pierde drepturile și se poate încheia dacă EnableSSHKeysign este dezactivat. Aceste chei ar trebui să fie accesibile doar lui root, deoarece sunt utilizate pentru autentificarea bazată pe host.

Exemplul doi este chage, care poate deschide /etc/shadow, apoi resetează permisiunile efective și se finalizează. Ca urmare, atacul nu oferă neapărat imediat un shell cu privilegii root, dar permite obținerea conținutului fișierelor care sunt de obicei considerate extrem de protejate. Scurgerea /etc/shadow este periculoasă prin posibilitatea ulterioară a ghicirii offline a parolelor, iar scurgerea cheilor private SSH de gazdă reprezintă riscul de a înlocui gazda sau de a desfășura atacuri asupra scenariilor SSH de încredere.

Corectarea a fost deja acceptată în ramura principală Linux. Commit-ul 31e62c2ebbfd cu titlul ptrace: o logică 'get_dumpable()' ușor mai rațională schimbă comportamentul verificării dumpabilității: nucleul acum păstrează starea user_dumpable atunci când mm dispare și necesită o verificare corectă a CAP_SYS_PTRACE pentru a fi ocolită. Patch-ul afectează include/linux/sched.h, kernel/exit.c și kernel/ptrace.c.

Vulnerabilitatea a fost raportată de Qualys și corectată de Linus Torvalds pe 14 mai 2026. Phoronix observă că, la momentul publicării, problema afecta toate versiunile nucleului Linux până la starea actuală a arborelui mainline, înainte de aplicarea corectării. Autorul PoC subliniază de asemenea că sunt vulnerabile nucleele anterioare commit-ului 31e62c2ebbfd, inclusiv ramuri stabile la data de 14 mai.

Este important de menționat că pentru exploatare nu este necesară încărcarea modulelor specifice ale nucleului, așa cum s-a întâmplat în cazul unor recente vulnerabilități LPE. Este suficient accesul local fără privilegii la sistem și existența unui proces auxiliar cu privilegii adecvate. Dezvoltatorul Debian, Daniel Baumann, unul dintre voluntarii care susțin localizarea în limba rusă, varianta eronată este mai răspândită și familiară pentru majoritatea utilizatorilor (de exemplu, în interfața macOS, Apple folosește „Скопировать”, iar Microsoft în Windows, utilizatorii căruia sunt mult mai numeroși decât utilizatorii macOS, folosește „Копировать”). În localizările ucrainene și belaruse se folosește de asemenea „Копировать”. În plus, limba nu este statică, ea evoluează constant și se schimbă, iar regulile ei se adaptează majorității vorbitorilor., a menționat că această problemă ar trebui remediată prin actualizarea nucleului și o repornire în nucleul corectat.

În depozitul publicat cu demonstrarea a fost anunțată o verificare pe Raspberry Pi OS Bookworm cu nucleul 6.12.75, Debian 13, Ubuntu 22.04, Ubuntu 24.04, Ubuntu 26.04, Arch și CentOS 9. Această listă ar trebui considerată ca datele autorului PoC, și nu ca o listă exhaustivă: deoarece eroarea se află în logica generală a nucleului, acoperirea efectivă depinde de versiunea nucleului și de existența corectărilor backport pentru distribuția specifică.

Pentru administratori, recomandarea principală este simplă: instalați pachetul de kernel actualizat de la distribuția dvs. și reporniți sistemul. Dacă aveți motive să credeți că pe mașină a existat deja un acces local neprivilegiat din partea unui atacator, după actualizare ar trebui să luați în considerare rotirea cheilor host SSH și verificarea conturilor din /etc/shadow, deoarece vulnerabilitatea în sine este legată de citirea fișierelor sensibile, nu doar de o simplă ocolire a verificării accesului.

În Debian a început deja lucrul pentru migrarea remedierii: Baumann a raportat despre cherry-pick-ul unui commit upstream în trixie-fastforward-backports și despre trimiterea unei cereri de fuziune pentru Debian sid. În cererea de fuziune este specificat clar că se migrează commit-ul 31e62c2 pentru corectarea logicii dumpabilității ptrace, care permite citirea fișierelor root de către utilizatori neprivilegiați.

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster