Az OpenSSH 9.2 kiadása a hitelesítés előtti szakaszban jelentkező sebezhetőség kijavításával

Megjelent az OpenSSH 9.2, a SSH 2.0 és SFTP protokollokkal való munkára szolgáló kliens és szerver nyílt forráskódú megvalósítása. Az új verzióban megszüntették azt a sebezhetőséget, amely kettős memóriafelszabadításhoz vezetett az autentikáció előtti szakaszban. A sebezhetőség csak az OpenSSH 9.1 kiadást érinti, korábbi verziókban a probléma nem jelentkezik.

A sebezhetőség megjelenéséhez elegendő megváltoztatni a SSH kliens bannerét „SSH-2.0-FuTTYSH_9.1p1” értékre, hogy aktiválja az „SSH_BUG_CURVE25519PAD” és az „SSH_OLD_DHGEX” zászlókat, amelyek a SSH kliens verziójától függnek. Az említett zászlók beállítása után az „options.kex_algorithms” puffert kétszer szabadítják fel — a do_ssh2_kex() függvény végrehajtásakor, amely meghívja a compat_kex_proposal() függvényt, és a do_authentication2() függvény végrehajtásakor, amely láncszerűen meghívja az input_userauth_request(), mm_getpwnamallow(), copy_set_server_options(), assemble_algorithms() és kex_assemble_names() függvényeket.

A sebezhetőséghez működő exploittal való visszaélés valószínűsége alacsony, mivel a kihasználás folyamata túl bonyolult — a modern memóriaelosztó könyvtárak védelmet nyújtanak a dupla memóriafelszabadítás ellen, és a pré-auht, amelyben a hiba található, csökkentett jogosultságokkal működik egy izolált sandbox környezetben.

A megjelölt sebezhetőségen kívül az új kiadásban további két biztonsági problémát is megszüntettek:

  • Hiba a „PermitRemoteOpen” beállítás feldolgozásakor, amely az első érv figyelmen kívül hagyásához vezet, ha az eltér az „any” és „none” értékektől. A probléma az OpenSSH 8.7-nél újabb verziókban érhető tetten, és azt eredményezi, hogy a jogosultság megadásakor a vizsgálatot kihagyják, ha csak egy jogosultságot adnak meg.
  • A támadó, aki irányítja a DNS szervert, amelyet a nevek meghatározására használnak, elérheti, hogy speciális karakterek (például „*”) kerüljenek a known_hosts fájlokba, ha a konfiguráció tartalmazza a CanonicalizeHostname és CanonicalizePermittedCNAMEs opciókat, és a rendszeres feloldó nem ellenőrzi a DNS szervertől érkező válaszok érvényességét. A támadás végrehajtása valószínűtlennek tekinthető, mivel a visszaadott neveknek meg kell felelniük a CanonicalizePermittedCNAMEs-en keresztül megadott feltételeknek.

Egyéb változások:

  • Az ssh_config fájlba az ssh-hoz hozzáadva lett az EnableEscapeCommandline beállítás, amely a kliensoldali escape-sorozatok "~C" kezelésének engedélyezését irányítja, biztosítva ezzel a parancssort. Alapértelmezés szerint a "~C" kezelés most le van tiltva a szigorúbb sandbox-izoláció érdekében, ami potenciálisan problémákat okozhat azokban a rendszerekben, ahol a "~C" a portok átirányítására szolgál működés közben.
  • Az sshd_config fájlba az sshd-hez hozzáadva lett a ChannelTimeout direktíva, amely a csatorna inaktivitási időtúllépését határozza meg (azok a csatornák, ahol a direktívában megadott idő alatt nem észlelnek forgalmat, automatikusan bezáródnak). Különböző időtúllépések adhatók meg a munkamenetre, X11-re, ügynökre és forgalom átirányítására.
  • Az sshd_config fájlba az sshd-hez hozzáadva lett az UnusedConnectionTimeout direktíva, amely lehetővé teszi az idle klienskapcsolatok időtúllépésének beállítását, ha azok egy bizonyos ideig nem tartalmaznak aktív csatornákat.
  • Az sshd-hez hozzáadva lett a "-V" opció, amely a verziót adja vissza, hasonlóan a kliens ssh-hoz tartozó opcióhoz.
  • Az "ssh -G" kimenetébe hozzáadva lett a "Host" sor, amely a hostnév argumentum értékét tükrözi.
  • Az scp és sftp programokhoz hozzáadva lett a "-X" opció, amely lehetővé teszi az SFTP protokoll paramétereinek, például a másolási pufferméret és a befejezésre váró kérések számának kezelését.
  • Az ssh-keyscan lehetővé teszi a teljes CIDR-címkategóriák beolvasását, például: "ssh-keyscan 192.168.0.0/24".

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster