Wachtwoorden van meer dan 256 bytes openen geblokkeerde accounts, ook root, op OpenSSH-servers met musl
Een samenloop van keuzes in de C-bibliotheek musl en in OpenSSH zat bijna tien jaar onopgemerkt in onder meer Alpine Linux.
Onderzoeker Özgün Kültekin heeft een lek gevonden waarmee een aanvaller op bepaalde Linux-systemen binnenraakt via SSH door een wachtwoord in te typen van 257 tot 1.024 tekens, meldt The Register. Het probleem, dat de naam *sshole kreeg, treft systemen die de lichte C-bibliotheek musl gebruiken in plaats van de GNU-bibliotheek glibc, en waar de SSH-server draait zonder PAM en met aanmelden via wachtwoord ingeschakeld. Het gaat net om accounts die geen wachtwoord horen te aanvaarden, zoals root of gebruikers die enkel met sleutels werken.
De oorzaak ligt in een asterisk. Geblokkeerde accounts hebben in plaats van een wachtwoordhash vaak gewoon een * in het wachtwoordbestand. Musl geeft bij een fout in zijn crypt-functie ook een * terug, en dat gebeurt precies bij wachtwoorden boven de 256 bytes, legt de Duitse blog Linux und Ich uit. Beide keuzes dateren van 2012. Toen OpenSSH in 2016 een timinglek dichtte, ging de server ook voor zulke accounts een wachtwoord controleren. Sindsdien vergelijkt OpenSSH in die situatie een asterisk met een asterisk en laat het de bezoeker binnen.
Gewone desktops en servers met Ubuntu, Debian of Arch lopen geen gevaar, omdat ze glibc en standaard PAM gebruiken. Wel kwetsbaar kunnen ingebouwde systemen, routers en containers zijn, en vooral Alpine Linux, dat musl als standaardbibliotheek heeft en officiële cloudimages levert voor AWS en Azure, aldus The Register. OpenSSH bracht donderdag versie 10.6p2 uit met een oplossing.