Sårbarhet i ksmbd-modulen i Linux-kärnan, som låter dig köra din kod på distans

En kritisk sårbarhet har identifierats i ksmbd-modulen, som inkluderar en implementering av en filserver baserad på SMB-protokollet inbyggt i Linux-kärnan, vilket gör att du kan fjärrexekvera din kod med kärnrättigheter. Attacken kan utföras utan autentisering, det räcker att ksmbd-modulen är aktiverad på systemet. Problemet har dykt upp sedan kärnan 5.15, släpptes i november 2021, och åtgärdades tyst i uppdateringarna 5.15.61, 5.18.18 och 5.19.2, som släpptes i augusti 2022. Eftersom CVE-identifieraren ännu inte har tilldelats problemet, finns det ingen exakt information om hur man åtgärdar problemet i distributioner.

Detaljer om utnyttjandet av sårbarheten har ännu inte avslöjats; det är bara känt att sårbarheten orsakas av att man får tillgång till ett redan frigjort minnesområde (Use-After-Free) på grund av bristen på att kontrollera existensen av ett objekt innan operationer utförs på det. Problemet beror på det faktum att funktionen smb2_tree_disconnect() frigjorde minnet som tilldelats för strukturen ksmbd_tree_connect, men efter det fanns det fortfarande en pekare som användes vid bearbetning av vissa externa förfrågningar innehållande SMB2_TREE_DISCONNECT-kommandon.

Utöver den nämnda sårbarheten har 4 mindre farliga problem även fixats i ksmbd:

  • ZDI-22-1688 - fjärrkodexekvering med kärnrättigheter på grund av att filattributbearbetningskoden inte kontrollerar den faktiska storleken på extern data innan den kopieras till en dedikerad buffert. Sårbarheten mildras av att attacken endast kan utföras av en autentiserad användare.
  • ZDI-22-1691 - fjärrinformation läcker från kärnminnet på grund av felaktig kontroll av inmatningsparametrar i kommandohanteraren SMB2_WRITE (attacken kan endast utföras av en autentiserad användare).
  • ZDI-22-1687 - fjärrnedsättning av tjänst orsakad av uttömning av tillgängligt minne i systemet på grund av felaktig frigivning av resurser i kommandohanteraren SMB2_NEGOTIATE (attacken kan utföras utan autentisering).
  • ZDI-22-1689 - Fjärrkärnkrasch på grund av bristande korrekt validering av parametrarna för kommandot SMB2_TREE_CONNECT, vilket resulterar i en läsning från ett område utanför bufferten (attacken kan endast utföras av en autentiserad användare).

Stöd för att köra en SMB-server med ksmbd-modulen har funnits i Samba-paketet sedan release 4.16.0. Till skillnad från en SMB-server med användarutrymme är ksmbd mer effektivt när det gäller prestanda, minnesförbrukning och integration med avancerade kärnfunktioner. Ksmbd utses som en högpresterande, inbäddad Samba-förlängning som integreras med Samba-verktyg och -bibliotek efter behov. Ksmbd-koden skrevs av Namjae Jeon från Samsung och Hyunchul Lee från LG, och kärnan underhålls av Steve French från Microsoft, en underhållare av CIFS/SMB2/SMB3-undersystemen i Linux-kärnan och en mångårig medlem av Samba-utvecklingsteamet , som bidragit avsevärt till implementeringen av stöd för SMB/CIFS-protokollen i Samba och Linux.

Källa: opennet.ru

Lägg en kommentar