Een correctieve release van OpenSSH 9.9p2 is beschikbaar, waarin twee kwetsbaarheden zijn verholpen die door Qualys zijn ontdekt. Een voorbeeld van het misbruik van deze kwetsbaarheden is gedemonstreerd voor een MITM-aanval, waarmee het verkeer van een client naar de SSH-server kan worden omgeleid naar een eigen fake server, de verificatie van host-sleutels kan worden omzeild en de client de schijn kan geven verbonden te zijn met de gewenste server (de ssh-client accepteert de host-sleutel van de fake server in plaats van die van de legitieme server).
De eerste kwetsbaarheid (CVE-2025-26465) wordt veroorzaakt door een logische fout in de ssh-tool, waardoor de serververificatie kan worden omzeild en een MITM-aanval kan worden uitgevoerd. Het probleem doet zich voor vanaf release OpenSSH 6.8p1 (december 2014) in configuraties met de instelling VerifyHostKeyDNS ingeschakeld. In de standaardlevering van OpenSSH is deze optie standaard uitgeschakeld, maar was deze tot maart 2023 ingeschakeld in de ssh-instellingen onder FreeBSD.
Het probleem is dat in de code van de functie verify_host_key_callback() bij het aanroepen van de functie verify_host_key() alleen de foutcode '-1' wordt gecontroleerd, terwijl andere codes, zoals '-2', worden genegeerd. Uiteindelijk kan de functie verify_host_key_callback() een succesvolle code '0' retourneren, ondanks dat de functie verify_host_key() een foutcode '-2' teruggeeft. De foutcode '-2' wordt door de functie verify_host_key() geretourneerd bij geheugenstekort. Als er omstandigheden worden gecreƫerd die leiden tot onvermogen om geheugen toe te wijzen in de functie verify_host_key(), zal SSH denken dat de host-sleutel succesvol is geverifieerd. Om dergelijke omstandigheden te creƫren, retourneert de vervalssh SSH-server van de aanvaller, naar welke de client is omgeleid, de host-sleutel van maximaal mogelijke grootte (256KB), terwijl tegelijkertijd een geheugenlek aan de kant van de ssh-client wordt geƫxploiteerd.
De voorwaarden voor het creƫren van een geheugenlek worden bereikt door de tweede kwetsbaarheid (CVE-2025-26466), die zowel de ssh-client als server sshd, en wordt uitgebaat zonder authenticatie. Deze kwetsbaarheid maakt het mogelijk om het beschikbare geheugen van het proces uit te putten en een hoge CPU-belasting te creƫren door een groot aantal SSH2_MSG_PING-pakketten te verzenden. In de handler voor SSH2_MSG_PING-pakketten is er een geheugenlek dat begint met de release van OpenSSH 9.5p1 (augustus 2023). Het lek ontstaat omdat er voor elk binnenkomend 16-byte PING-pakket een 256-byte buffer wordt toegewezen voor het genereren van een antwoord, maar deze buffer wordt pas vrijgegeven na de sleutelovereenkomst. Als een beschermingsmaatregel wordt voorgesteld om limieten in te stellen met behulp van de richtlijnen LoginGraceTime, MaxStartups en PerSourcePenalties.
Bron: opennet.ru
