A fost publicată versiunea OpenSSH 10.6, o implementare deschisă a clientului și serverului pentru lucrul cu protocoalele SSH 2.0 și SFTP. Au fost remediate problemele de securitate, majoritatea dintre ele fiind identificate prin analiza codului folosind instrumente AI (identificatorii CVE nu au fost atribuiți):
- O vulnerabilitate în sftp, care permite scrierea unui fișier în afara directorului țintă atunci când se accesează un server controlat de atacatori.
- Două vulnerabilități în implementarea GSSAPI în sshd, cauzate de păstrarea stării între diferite încercări de autentificare. Creditele GSSAPI puteau fi păstrate după o tentativă eșuată de autentificare și utilizate după o tentativă de autentificare reușită ulterioară. Problemele apar când se activează setarea GSSAPIAuthentication.
- În sshd și ssh a fost dezactivată suportul pentru compresia LZ77 din cauza posibilității de a efectua un atac prin canal secundar, permițând recuperarea conținutului dintr-o sesiune diferită atunci când se conectează printr-o conexiune multiplexată comună cu victima, profitând de faptul că datele de intrare controlate de atacatori afectează lungimea totală a mesajelor criptate transmise (LZ77 înlocuiește șirurile repetitive cu referințe în bufferul comun pentru toate canalele).
- În utilitarul ssh, utilizarea simbolurilor ‘$’ și ‘\’ în numele de utilizatori introduse în linia de comandă este interzisă, deoarece prin acestea se putea organiza executarea codului înlocuind numele în directivele ProxyCommand și Match exec specificate în configurații.
- În ssh-keygen a fost corectată procesarea incorectă a orei de vară, care ducea la o deviere a datei de expirare a certificatelor cu 1 oră.
- Cu scopul de a bloca crearea bombelor zip în sshd și ssh, a fost adăugată o verificare care depășește dimensiunea maximă a pachetului la dezarhivarea datelor.
- În sshd a fost rezolvată o problemă care permitea ocolirea restricțiilor cuvântului cheie „restrict” din fișierul authorized_keys, care nu era aplicat tunelurilor (PermitTunnel).
- În sshd a fost eliminată analiza incorectă a opțiunii „none” în interiorul blocurilor Match, care în unele directive, cum ar fi AuthorizedPrincipalsFile, era interpretată ca un nume de fișier, nu ca un indiciu pentru dezactivarea directivei.
- În sshd a fost corectată absența resetării privilegiilor root pe platforme care nu suportă transmiterea descriptorilor de fișiere și care necesită pentru alocarea PTY privilegii root. Problema apare în QNX 6, SCO OpenServer 5 și la compilarea cu opțiunea „--disable-fd-passing”.
Modificări nesusținute de vulnerabilități:
- Suportul pentru algoritmul criptografic hibrid ssh-mldsa44-ed25519, rezistent la atacurile computerelor cuantice, a fost activat.
- În sshd_config a fost implementată și activată implicit opțiunea WarnWeakCrypto pentru gestionarea mesajelor de avertizare legate de stabilirea conexiunilor utilizând algoritmi de negociere a cheilor care nu sunt rezistenți la atacurile computerelor cuantice.
- În ssh-keygen și ssh-add a fost implementată verificarea politicii credProtect în acreditive, pentru a îndeplini cerințele de verificare (PIN sau biometrie) înainte de accesul la cheile rezidente pe token-uri FIDO.
- În ssh-add a fost adăugat flag-ul „-P” pentru a omite introducerea opțională a codului PIN pentru token-urile FIDO și PKCS#11.
- În ssh, comanda ~I a fost implementată pentru a afișa informații despre versiunile sistemelor locale și la distanță.
- În sftp, comenzile mkdir/lmkdir au fost adăugate cu flag-ul ‘-p’ pentru a crea directoare, dacă este necesar.
- În ssh-keygen a fost adăugat modul „hexdump” pentru exportul cheilor sub formă de dump-uri în hexazecimal (de exemplu, pentru inserare în documentație).
- În ssh și sshd, în directiva ChannelTimeout a fost permisă specificarea timeout-urilor cu precizie până la fracțiuni de secundă.
- În sshd a fost adăugată opțiunea AgentSocketPath pentru a specifica calea către $SSH_AUTH_SOCK atunci când se redirecționează agentul (de exemplu, user:.ssh/agent pentru subdirectoare în $HOME și shared:/tmp pentru directoare partajate).
- În ssh-agent a fost adăugat flag-ul „-A” pentru a specifica directoarele cu socket-uri de agenți în care este permisă specificarea prefixelor „user:” și „shared:” ca în opțiunea AgentSocketPath.
- În sshd, verificarea cheilor publice a fost separată de încercările de autentificare. A fost adăugată opțiunea „PubkeyOptions max-pk-ok:nnnn” pentru a configura numărul de încercări de verificare a cheilor publice (implicit 6), după care conexiunea va fi întreruptă din cauza limitei MaxAuthTries.
- În ssh și sshd, opțiunea TCPKeepAlive a primit suport pentru valoarea „all”, care include trimiterea pachetelor keepalive nu doar pentru conexiunea principală, ci și pentru conexiunile direcționate prin aceasta.
Sursa: opennet.ro
