OpenSSH 8.3-release met oplossing voor scp-kwetsbaarheid

Na drie maanden ontwikkeling ingediend релиз OpenSSH 8.3, een open client- en serverimplementatie voor het werken via de SSH 2.0- en SFTP-protocollen.

De nieuwe release voegt bescherming toe tegen scp-aanvallen waardoor de server andere bestandsnamen kan doorgeven dan de gevraagde (in tegenstelling tot kwetsbaarheid uit het verleden, maakt de aanval het niet mogelijk om de door de gebruiker geselecteerde map of het globmasker te wijzigen). Bedenk dat in SCP de server beslist welke bestanden en mappen naar de client worden verzonden, en dat de client alleen de juistheid van de geretourneerde objectnamen controleert. De essentie van het geïdentificeerde probleem is dat als de utime-systeemaanroep mislukt, de inhoud van het bestand wordt geïnterpreteerd als bestandsmetagegevens.

Deze functie kan, wanneer verbinding wordt gemaakt met een server die wordt beheerd door een aanvaller, worden gebruikt om andere bestandsnamen en andere inhoud in de FS van de gebruiker op te slaan bij het kopiëren met behulp van scp in configuraties die tot fouten leiden bij het aanroepen van utimes (bijvoorbeeld wanneer utimes verboden is door het SELinux beleid of systeemaanroepfilter). De waarschijnlijkheid van echte aanvallen wordt als minimaal ingeschat, omdat in typische configuraties de utimes-oproep niet mislukt. Bovendien blijft de aanval niet onopgemerkt: bij het aanroepen van scp wordt een gegevensoverdrachtfout weergegeven.

Algemene wijzigingen:

  • In sftp is de verwerking van het argument “-1” gestopt, vergelijkbaar met ssh en scp, dat eerder werd geaccepteerd maar genegeerd;
  • In sshd zijn er bij gebruik van IgnoreRhosts nu drie keuzes: "yes" - negeer rhosts/shosts, "no" - respecteer rhosts/shosts, en "shosts-only" - sta ".shosts" toe maar schakel ".rhosts" uit;
  • Ssh ondersteunt nu %TOKEN-vervanging in de LocalFoward- en RemoteForward-instellingen die worden gebruikt om Unix-sockets om te leiden;
  • Toestaan ​​dat openbare sleutels uit een niet-versleuteld bestand met een privésleutel worden geladen als er geen afzonderlijk bestand met de openbare sleutel is;
  • Als libcrypto beschikbaar is in het systeem, gebruiken ssh en sshd nu de implementatie van het chacha20-algoritme uit deze bibliotheek, in plaats van de ingebouwde draagbare implementatie, die achterblijft in de prestaties;
  • De mogelijkheid geïmplementeerd om de inhoud van een binaire lijst met ingetrokken certificaten te dumpen bij het uitvoeren van de opdracht “ssh-keygen -lQf /path”;
  • De draagbare versie implementeert definities van systemen waarin signalen met de SA_RESTART-optie de werking van select onderbreken;
  • Problemen opgelost met assemblage op HP/UX- en AIX-systemen;
  • Problemen opgelost met het bouwen van seccomp-sandbox op sommige Linux-configuraties;
  • Verbeterde detectie van de libfido2-bibliotheek en opgeloste build-problemen met de optie "--with-security-key-builtin".

De OpenSSH-ontwikkelaars waarschuwden ook opnieuw voor de aanstaande ontbinding van algoritmen die SHA-1-hashes gebruiken als gevolg van Promotie de effectiviteit van botsingsaanvallen met een bepaald voorvoegsel (de kosten voor het selecteren van een botsing worden geschat op ongeveer 45 duizend dollar). In een van de komende releases zijn ze van plan om standaard de mogelijkheid uit te schakelen om het algoritme voor digitale handtekeningen met openbare sleutels “ssh-rsa” te gebruiken, dat wordt genoemd in de oorspronkelijke RFC voor het SSH-protocol en in de praktijk wijdverbreid blijft (om het gebruik te testen van ssh-rsa in uw systemen, kunt u proberen verbinding te maken via ssh met de optie “-oHostKeyAlgorithms=-ssh-rsa”).

Om de overgang naar nieuwe algoritmen in OpenSSH te vergemakkelijken, zal in een toekomstige release de UpdateHostKeys-instelling standaard worden ingeschakeld, waardoor clients automatisch naar betrouwbaardere algoritmen worden gemigreerd. Aanbevolen algoritmen voor migratie zijn onder meer rsa-sha2-256/512 gebaseerd op RFC8332 RSA SHA-2 (ondersteund sinds OpenSSH 7.2 en standaard gebruikt), ssh-ed25519 (ondersteund sinds OpenSSH 6.5) en ecdsa-sha2-nistp256/384/521 gebaseerd op RFC5656 ECDSA (ondersteund sinds OpenSSH 5.7).

Vanaf de laatste release zijn "ssh-rsa" en "diffie-hellman-group14-sha1" verwijderd uit de CASignatureAlgorithms-lijst die de algoritmen definieert die nieuwe certificaten digitaal mogen ondertekenen, omdat het gebruik van SHA-1 in certificaten een extra risico met zich meebrengt hierdoor heeft de aanvaller onbeperkte tijd om te zoeken naar een botsing voor een bestaand certificaat, terwijl de aanvalstijd op hostsleutels wordt beperkt door de verbindingstime-out (LoginGraceTime).

Bron: opennet.ru

Voeg een reactie