Kwetsbaarheid in de ksmbd-module van de Linux-kernel waardoor u uw code op afstand kunt uitvoeren

Er is een kritieke kwetsbaarheid geïdentificeerd in de ksmbd-module, die een implementatie omvat van een bestandsserver op basis van het SMB-protocol dat in de Linux-kernel is ingebouwd en waarmee externe code kan worden uitgevoerd met kernelrechten. De aanval kan worden uitgevoerd zonder authenticatie, het volstaat dat de ksmbd-module op het systeem is geactiveerd. Het probleem is aanwezig sinds kernel 5.15, uitgebracht in november 2021, en werd stilletjes opgelost in updates 5.15.61, 5.18.18 en 5.19.2, gegenereerd in augustus 2022. Omdat aan het probleem nog geen CVE-identificatie is toegewezen, is er nog geen exacte informatie over het oplossen van het probleem in de distributies.

Details over de exploitatie van het beveiligingslek zijn nog niet bekendgemaakt. Het is alleen bekend dat het beveiligingslek wordt veroorzaakt door toegang te krijgen tot een reeds vrijgemaakt geheugengebied (Use-After-Free) vanwege het ontbreken van controle op het bestaan ​​van een object voordat bewerkingen worden uitgevoerd ermee. Het probleem houdt verband met het feit dat in de functie smb2_tree_disconnect() het geheugen dat was toegewezen aan de ksmbd_tree_connect-structuur werd vrijgegeven, maar daarna werd er nog steeds een pointer gebruikt bij het verwerken van bepaalde externe verzoeken die SMB2_TREE_DISCONNECT-opdrachten bevatten.

Naast de genoemde kwetsbaarheid in ksmbd zijn er ook 4 minder gevaarlijke problemen opgelost:

  • ZDI-22-1688 - uitvoering van code op afstand met kernelrechten vanwege het ontbreken van controle van de werkelijke grootte van externe gegevens in de verwerkingscode van het bestandsattribuut voordat deze naar de toegewezen buffer wordt gekopieerd. Het gevaar van de kwetsbaarheid wordt verzacht doordat de aanval alleen kan worden uitgevoerd door een geauthenticeerde gebruiker.
  • ZDI-22-1691 - informatielek op afstand uit het kernelgeheugen als gevolg van onjuiste controle van invoerparameters in de SMB2_WRITE-opdrachthandler (de aanval kan alleen worden uitgevoerd door een geverifieerde gebruiker).
  • ZDI-22-1687 - Denial of Service op afstand door uitputting van het beschikbare geheugen in het systeem als gevolg van onjuiste vrijgave van bronnen in de SMB2_NEGOTIATE-opdrachthandler (de aanval kan worden uitgevoerd zonder authenticatie).
  • ZDI-22-1689 - externe oproep om de kernel te laten crashen vanwege het ontbreken van een goede controle van de parameters van het SMB2_TREE_CONNECT-commando, wat leidt tot het lezen van een gebied buiten de buffer (de aanval kan alleen worden uitgevoerd door een geverifieerde gebruiker ).

Ondersteuning voor het runnen van een SMB-server met behulp van de ksmbd-module is sinds release 4.16.0 in het Samba-pakket opgenomen. In tegenstelling tot een SMB-server met gebruikersruimte is ksmbd efficiënter in termen van prestaties, geheugengebruik en integratie met geavanceerde kernelfuncties. Ksmbd wordt aangeprezen als een krachtige, embedded-ready uitbreiding op Samba, die indien nodig kan worden geïntegreerd met Samba-tools en -bibliotheken. De ksmbd-code is geschreven door Namjae Jeon van Samsung en Hyunchul Lee van LG, en in de kernel onderhouden door Steve French van Microsoft, beheerder van de CIFS/SMB2/SMB3-subsystemen in de Linux-kernel en jarenlang lid van het Samba-ontwikkelteam, die een aanzienlijke bijdrage heeft geleverd tot de implementatie van ondersteuning voor SMB/CIFS-protocollen in Samba en Linux.

Bron: opennet.ru

Voeg een reactie