In de meegeleverde FreeBSD-server van OpenSSH is een kwetsbaarheid ontdekt (CVE-2024-7589) die het mogelijk maakt om op afstand code met rootrechten uit te voeren zonder authenticatie. De kwetsbaarheid is een variant van het probleem dat begin juli in OpenSSH werd aangetoond (CVE-2024-6387) en wordt ook veroorzaakt door een raceconditie die ontstaat door het aanroepen van functies in signaalbehandelaars die niet zijn ontworpen voor asynchrone aanroepen.
De ontwikkelaars van FreeBSD hebben de oorspronkelijke juli-kwetsbaarheid onmiddellijk na de aankondiging verholpen, maar de patch dekte niet alle mogelijke aanvalsvectoren. De oplossing bestond uit het uitschakelen van de aanroep van de functie sshlogv, die dynamisch geheugen toewijst, wat bij asynchrone uitvoering kon leiden tot beschadiging van interne malloc-structuren wanneer de SIGALRM-signaalbehandelaar werd geactiveerd tijdens de uitvoering van bepaalde code. Het bleek dat een soortgelijk probleem zich voordeed in de FreeBSD-specifieke aanroep van de functie blacklist_notify, die zorgt voor integratie met het achtergrondproces blacklistd.
Naast het toepassen van de patch kan de kwetsbaarheid ook worden geblokkeerd door in /etc/ssh/sshd_config de parameter 'LoginGraceTime=0' in te stellen, maar het uitschakelen van de time-out vereenvoudigt ook het initiƫren van een Denial-of-Service-aanval bij het opzetten van een groot aantal verbindingen die de limieten, vastgelegd via de parameter MaxStartups, overschrijden.
Daarnaast zijn er nog drie kwetsbaarheden in FreeBSD verholpen:
- CVE-2024-6760 - de mogelijkheid om de bescherming tegen het gebruik van ktrace voor het traceren van suid-processen te omzeilen, wat een niet-bevoegd gebruiker toegang kan geven tot de inhoud van bestanden waarvan hij geen leesrechten heeft, bijvoorbeeld kan de inhoud van een bestand met wachtwoord-hashes worden gelezen.
- CVE-2024-6759 - in de NFS-client is een mogelijkheid ontdekt om in bestandsnamen scheidingstekens zoals '..' en '/' te gebruiken;
- CVE-2024-6640 - een kwetsbaarheid in de PF-pakketfilter, waardoor ICMPv6-pakketten met een nul-id niet onder de firewallregels vielen die zijn ontworpen om binnenkomende pakketten in de status-tabel weer te geven.
Bron: opennet.ru
